Skip to content

Commit 2dfb9f8

Browse files
1 parent cc51cc7 commit 2dfb9f8

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

advisories/github-reviewed/2025/12/GHSA-pj86-cfqh-vqx6/GHSA-pj86-cfqh-vqx6.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
{
22
"schema_version": "1.4.0",
33
"id": "GHSA-pj86-cfqh-vqx6",
4-
"modified": "2025-12-02T00:25:14Z",
4+
"modified": "2025-12-02T15:11:19Z",
55
"published": "2025-12-01T18:59:17Z",
6+
"withdrawn": "2025-12-02T15:11:19Z",
67
"aliases": [
78
"CVE-2024-51999"
89
],
9-
"summary": "express improperly controls modification of query properties",
10-
"details": "### Impact\n\nwhen using the extended query parser in express (`'query parser': 'extended'`), the `request.query` object inherits all object prototype properties, but these properties can be overwritten by query string parameter keys that match the property names\n\n> [!IMPORTANT] \n> the extended query parser is the default in express 4; this was changed in express 5 which by default uses the simple query parser\n\n### Patches\n\nthe issue has been patched to ensure `request.query` is a plain object so `request.query` no longer has object prototype properties. this brings the default behavior of extended query parsing in line with express's default simple query parser\n\n### Workaround\n\nthis only impacts users using extended query parsing (`'query parser': 'extended'`), which is the default in express 4, but not express 5. all users are encouraged to upgrade to the patched versions, but can otherwise work around this issue:\n\n#### provide `qs` directly and specify `plainObjects: true`\n\n```js\napp.set('query parser',\n function (str) {\n return qs.parse(str, {\n plainObjects: true\n });\n});\n```",
10+
"summary": "Withdrawn Advisory: express improperly controls modification of query properties",
11+
"details": "## Withdrawn Advisory\nThis advisory has been withdrawn because it describes a correctness bug, not a vulnerability with real security impact. This link is maintained to preserve external references.\n\n## Original Description\n### Impact\n\nwhen using the extended query parser in express (`'query parser': 'extended'`), the `request.query` object inherits all object prototype properties, but these properties can be overwritten by query string parameter keys that match the property names\n\n> [!IMPORTANT] \n> the extended query parser is the default in express 4; this was changed in express 5 which by default uses the simple query parser\n\n### Patches\n\nthe issue has been patched to ensure `request.query` is a plain object so `request.query` no longer has object prototype properties. this brings the default behavior of extended query parsing in line with express's default simple query parser\n\n### Workaround\n\nthis only impacts users using extended query parsing (`'query parser': 'extended'`), which is the default in express 4, but not express 5. all users are encouraged to upgrade to the patched versions, but can otherwise work around this issue:\n\n#### provide `qs` directly and specify `plainObjects: true`\n\n```js\napp.set('query parser',\n function (str) {\n return qs.parse(str, {\n plainObjects: true\n });\n});\n```",
1112
"severity": [
1213
{
1314
"type": "CVSS_V4",

0 commit comments

Comments
 (0)