{"id":"GHSA-3pwp-g2mj-5p3v","summary":"WordPress Coding Standards (WordPressCS) contains an arbitrary code execution vulnerability","details":"### Impact\n\nWordPress Coding Standards (WordPressCS) versions before 3.4.1 contain an arbitrary code execution vulnerability in the `WordPress.WP.EnqueuedResourceParameters` sniff. As a result, running PHPCS with WordPressCS over untrusted PHP code, for example, in a CI pipeline that lints pull requests, or on a developer machine reviewing third-party code, could lead to arbitrary command execution on the scanning host.\n\nThis affects users of the `WordPress` and `WordPress-Extra` rulesets. The `WordPress-Core` ruleset and the `WordPress-Docs` ruleset are not affected.\n\nThe vulnerability happens when the sniff checks whether the `$var` argument passed to functions such as `wp_enqueue_script()` or `wp_register_script()` evaluates to a falsy value. The sniff's `is_falsy()` method reconstructed the argument and ran it through `eval()`. Because of this, a maliciously crafted `$ver` argument such as `'system'('id')` would be executed during the scan.\n\n### Patches\n\nThis issue has been fixed in WordPressCS 3.4.1. We recommend all users upgrade to 3.4.1 or later.\n\n### Workaround\n\nUsers of the `WordPress` and `WordPress-Extra` rulesets, who cannot upgrade immediately, can disable the affected sniff by adding an `\u003cexclude\u003e` tag to their custom ruleset (the `\u003crule\u003e` `ref` value might vary depending on the ruleset):\n\n```xml\n\u003crule ref=\"WordPress\"\u003e\n\t\u003cexclude name=\"WordPress.WP.EnqueuedResourceParameters\"/\u003e\n\u003c/rule\u003e\n```\n\nTo verify that the sniff has been disabled, run PHPCS with the `-e` flag, which lists all the sniffs a standard will run. `WordPress.WP.EnqueuedResourceParameters` should no longer appear in the output under the `WordPress` section:\n\n```\nphpcs -e --standard=/path/to/ruleset.xml\n```\n\n### Credits\n\nMany thanks to [@FORIMOC](https://github.com/FORIMOC) for responsibly disclosing this vulnerability.\n\n### How can I report a security bug?\n\nPlease report security vulnerabilities privately via [the \"Security and quality\" tab on the WPCS repository](https://github.com/WordPress/WordPress-Coding-Standards/security).","aliases":["CVE-2026-45293"],"modified":"2026-07-28T14:56:51.873225Z","published":"2026-07-28T14:28:12Z","database_specific":{"github_reviewed_at":"2026-07-28T14:28:12Z","nvd_published_at":null,"cwe_ids":["CWE-95"],"severity":"HIGH","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/WordPress/WordPress-Coding-Standards/security/advisories/GHSA-3pwp-g2mj-5p3v"},{"type":"WEB","url":"https://github.com/WordPress/WordPress-Coding-Standards/pull/2771"},{"type":"WEB","url":"https://github.com/WordPress/WordPress-Coding-Standards/commit/a29048d0bbef5cf25d42349c74e4072d3cbc8325"},{"type":"PACKAGE","url":"https://github.com/WordPress/WordPress-Coding-Standards"},{"type":"WEB","url":"https://github.com/WordPress/WordPress-Coding-Standards/releases/tag/3.4.1"}],"affected":[{"package":{"name":"wp-coding-standards/wpcs","ecosystem":"Packagist","purl":"pkg:composer/wp-coding-standards/wpcs"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.14.1"},{"fixed":"3.4.1"}]}],"versions":["0.14.1","1.0.0","1.1.0","1.2.0","1.2.1","2.0.0","2.0.0-RC1","2.1.0","2.1.1","2.2.0","2.2.1","2.3.0","3.0.0","3.0.1","3.1.0","3.2.0","3.3.0","3.4.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/07/GHSA-3pwp-g2mj-5p3v/GHSA-3pwp-g2mj-5p3v.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H"}]}