Skip to content

fix(security): bump php_codesniffer to 3.13.6 (CVE-2026-67434) — unblocks the skipped test tier - #291

Merged
rubenvdlinde merged 1 commit into
developmentfrom
fix/phpcs-cve-2026-67434
Aug 6, 2026
Merged

fix(security): bump php_codesniffer to 3.13.6 (CVE-2026-67434) — unblocks the skipped test tier#291
rubenvdlinde merged 1 commit into
developmentfrom
fix/phpcs-cve-2026-67434

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

What

Bumps squizlabs/php_codesniffer from 3.13.5 to 3.13.6 in composer.lock (dev dependency).

Why

CVE-2026-67434 (OS command injection) affects <3.13.6. Published 2026-08-05 23:53Z.

composer audit queries the live Packagist advisory database, so Security (composer) began failing on every repo pinned to 3.13.5 as the advisory propagated — regardless of the roave/security-advisories lockfile pin, which is a separate mechanism.

The part that matters more than the CVE

The CVE itself is low-stakes: a dev-only code formatter, no runtime exposure.

The impact is not low-stakes. quality.yml gates the test tier on needs.security.result != 'failure':

job line
phpunit 1464
newman 1720
playwright 1985
journeydoc-capture 2739
sbom 3999

So a failing Security (composer) turns PHPUnit, Newman and E2E into skipped. A skipped job renders as a grey tick, not a red X — the run looks fine and the tests did not run. Measured on nldesign: the 08:49Z run executed 110 tests; the 11:18Z run executed zero and looked healthy.

A skipped test job is not a pass — it is the absence of a verdict.

Fix shape

One-line lockfile bump. No waiver, no continue-on-error, no ignore entry — those would make the security job green while leaving the test tier gated, which is the opposite of the goal.

Reference 4c378e1a528ea066890fc2397cbdd2f94eb2fc91 verified against the Packagist metadata API.

Verification

Merged once Security (composer) passes and the previously-gated jobs actually execute and report test counts.

squizlabs/php_codesniffer <3.13.6 is affected by CVE-2026-67434 (OS
command injection, GHSA-hmqg-cxww-wqhq), published 2026-08-05 23:53Z.
composer audit queries the live advisory database, so the Security
(composer) job started failing on every repo pinned to 3.13.5.

That failure is not confined to the security tier: quality.yml gates
PHPUnit, Newman, Playwright, journeydoc-capture and sbom on
needs.security.result != 'failure', so a failing security job turns the
entire test tier into skipped -- which renders as a grey tick, not a
red X. The tests stop running and nothing looks broken.

Dev-only formatter, no runtime exposure, but the lockfile bump is the
correct fix; a waiver would leave the test tier gated.
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/scholiq @ 03c303b

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-specs
composer ✅ 100/100
npm ✅ 750/750
PHPUnit
Newman ⏭️
Playwright ⏭️
Hydra gates

Quality workflow — 2026-08-06 11:53 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit bbd238d into development Aug 6, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant