Skip to content

Prepare CHANGELOG for the PHP 7.0.1 security release - #283

Merged
derpaschi merged 4 commits into
masterfrom
changelog-php-7.0.1
Jul 29, 2026
Merged

Prepare CHANGELOG for the PHP 7.0.1 security release#283
derpaschi merged 4 commits into
masterfrom
changelog-php-7.0.1

Conversation

@derpaschi

Copy link
Copy Markdown
Member

Documents the wp-coding-standards/wpcs 3.4.0 → 3.4.1 bump as a security release. Depends on #282 — merge that first, then this, then push the signed 7.0.1 tag.

Why this is a security release

CVE-2026-45293 (CWE-95, CVSS 8.6 high): WordPress.WP.EnqueuedResourceParameters reconstructed function arguments and ran them through eval() in is_falsy(). Scanning untrusted PHP — a CI job linting a pull request, or reviewing third-party code locally — could execute arbitrary commands on the scanning host.

We were exposed in both standards. Required/ruleset.xml includes WordPress-Extra, and Required-Strict inherits Required. Verified with a benign PoC in a throwaway worktree:

WPCS eval( in sniff PoC payload executed during scan
3.4.0 2 occurrences yes
3.4.1 0 no

The part that raises urgency

Composer 2.10's policy.advisories.block defaults to on, so composer update against current master fails to resolve at all:

- Root composer.json requires wp-coding-standards/wpcs 3.4.0 … not loaded,
  because they are affected by security advisories ("PKSA-mh9b-91zm-m1gy")

Because 7.0.0 pins the affected 3.4.0 exactly, the released package is uninstallable for consumers on Composer 2.10+, not merely vulnerable. Shipping 7.0.1 is what unblocks composer update.

Verification

With #282 applied: dependencies resolve cleanly (pulling PHPCSUtils 1.2.3, PHPCSExtra 1.5.1) and composer test passes all four smoke assertions across Required and Required-Strict.

Follow-up

The exact-pin policy is worth a separate discussion — an upstream patch now requires a coordinated release here, and blocks consumers until it lands. Filed separately; no constraint change in this PR.

🤖 Generated with Claude Code

Documents the wp-coding-standards/wpcs 3.4.0 -> 3.4.1 bump (PR #282) as a
security release. Both Required and Required-Strict include WordPress-Extra,
so both were exposed to the arbitrary command execution in the
WordPress.WP.EnqueuedResourceParameters sniff (CVE-2026-45293).

Also notes that 7.0.0 is now uninstallable rather than merely vulnerable:
it pins the affected wpcs 3.4.0 exactly, and Composer 2.10+ refuses to
resolve advisory-affected versions by default.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
dependabot Bot and others added 3 commits July 29, 2026 09:56
Updates the requirements on [wp-coding-standards/wpcs](https://github.com/WordPress/WordPress-Coding-Standards) to permit the latest version.
- [Release notes](https://github.com/WordPress/WordPress-Coding-Standards/releases)
- [Changelog](https://github.com/WordPress/WordPress-Coding-Standards/blob/develop/CHANGELOG.md)
- [Commits](WordPress/WordPress-Coding-Standards@3.4.0...3.4.1)

---
updated-dependencies:
- dependency-name: wp-coding-standards/wpcs
  dependency-version: 3.4.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Documents the wp-coding-standards/wpcs 3.4.0 -> 3.4.1 bump (PR #282) as a
security release. Both Required and Required-Strict include WordPress-Extra,
so both were exposed to the arbitrary command execution in the
WordPress.WP.EnqueuedResourceParameters sniff (CVE-2026-45293).

Also notes that 7.0.0 is now uninstallable rather than merely vulnerable:
it pins the affected wpcs 3.4.0 exactly, and Composer 2.10+ refuses to
resolve advisory-affected versions by default.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@derpaschi derpaschi self-assigned this Jul 29, 2026
@derpaschi
derpaschi merged commit 2350247 into master Jul 29, 2026
7 checks passed
@derpaschi
derpaschi deleted the changelog-php-7.0.1 branch July 29, 2026 07:59
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