162 lines
7.0 KiB
JSON
162 lines
7.0 KiB
JSON
{
|
||
"dataType": "CVE_RECORD",
|
||
"dataVersion": "5.2",
|
||
"cveMetadata": {
|
||
"cveId": "CVE-2026-1527",
|
||
"assignerOrgId": "ce714d77-add3-4f53-aff5-83d477b104bb",
|
||
"state": "PUBLISHED",
|
||
"assignerShortName": "openjs",
|
||
"dateReserved": "2026-01-28T12:05:08.491Z",
|
||
"datePublished": "2026-03-12T20:17:18.984Z",
|
||
"dateUpdated": "2026-03-13T18:06:03.794Z"
|
||
},
|
||
"containers": {
|
||
"cna": {
|
||
"providerMetadata": {
|
||
"orgId": "ce714d77-add3-4f53-aff5-83d477b104bb",
|
||
"shortName": "openjs",
|
||
"dateUpdated": "2026-03-12T20:17:18.984Z"
|
||
},
|
||
"title": "undici is vulnerable to CRLF Injection via upgrade option",
|
||
"problemTypes": [
|
||
{
|
||
"descriptions": [
|
||
{
|
||
"lang": "en",
|
||
"cweId": "CWE-93",
|
||
"description": "CWE-93 Improper neutralization of CRLF sequences ('CRLF injection')",
|
||
"type": "CWE"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"affected": [
|
||
{
|
||
"vendor": "undici",
|
||
"product": "undici",
|
||
"collectionURL": "https://github.com/nodejs/undici/",
|
||
"packageName": "undici",
|
||
"repo": "https://github.com/nodejs/undici/",
|
||
"versions": [
|
||
{
|
||
"status": "affected",
|
||
"version": "< 6.24.0; 7.0.0 < 7.24.0"
|
||
},
|
||
{
|
||
"status": "unaffected",
|
||
"version": "6.24.0: 7.24.0"
|
||
}
|
||
],
|
||
"defaultStatus": "unaffected"
|
||
}
|
||
],
|
||
"descriptions": [
|
||
{
|
||
"lang": "en",
|
||
"value": "ImpactWhen an application passes user-controlled input to the upgrade option of client.request(), an attacker can inject CRLF sequences (\\r\\n) to:\n\n * Inject arbitrary HTTP headers\n * Terminate the HTTP request prematurely and smuggle raw data to non-HTTP services (Redis, Memcached, Elasticsearch)\nThe vulnerability exists because undici writes the upgrade value directly to the socket without validating for invalid header characters:\n\n// lib/dispatcher/client-h1.js:1121\nif (upgrade) {\n header += `connection: upgrade\\r\\nupgrade: ${upgrade}\\r\\n`\n}",
|
||
"supportingMedia": [
|
||
{
|
||
"type": "text/html",
|
||
"base64": false,
|
||
"value": "<h3>Impact</h3><p>When an application passes user-controlled input to the <code>upgrade</code> option of <code>client.request()</code>, an attacker can inject CRLF sequences (<code>\\r\\n</code>) to:</p><ol><li>Inject arbitrary HTTP headers</li><li>Terminate the HTTP request prematurely and smuggle raw data to non-HTTP services (Redis, Memcached, Elasticsearch)</li></ol><p>The vulnerability exists because undici writes the <code>upgrade</code> value directly to the socket without validating for invalid header characters:</p><div><pre>// lib/dispatcher/client-h1.js:1121\nif (upgrade) {\n header += `connection: upgrade\\r\\nupgrade: ${upgrade}\\r\\n`\n}</pre></div>"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"references": [
|
||
{
|
||
"url": "https://github.com/nodejs/undici/security/advisories/GHSA-4992-7rv2-5pvq"
|
||
},
|
||
{
|
||
"url": "https://hackerone.com/reports/3487198"
|
||
},
|
||
{
|
||
"url": "https://cna.openjsf.org/security-advisories.html"
|
||
}
|
||
],
|
||
"metrics": [
|
||
{
|
||
"format": "CVSS",
|
||
"scenarios": [
|
||
{
|
||
"lang": "en",
|
||
"value": "GENERAL"
|
||
}
|
||
],
|
||
"cvssV3_1": {
|
||
"version": "3.1",
|
||
"attackVector": "NETWORK",
|
||
"attackComplexity": "LOW",
|
||
"privilegesRequired": "LOW",
|
||
"userInteraction": "REQUIRED",
|
||
"scope": "UNCHANGED",
|
||
"confidentialityImpact": "LOW",
|
||
"integrityImpact": "LOW",
|
||
"availabilityImpact": "NONE",
|
||
"baseSeverity": "MEDIUM",
|
||
"baseScore": 4.6,
|
||
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N"
|
||
}
|
||
}
|
||
],
|
||
"credits": [
|
||
{
|
||
"lang": "en",
|
||
"value": "Matteo Collina",
|
||
"type": "remediation developer"
|
||
},
|
||
{
|
||
"lang": "en",
|
||
"value": "Ulises Gascón",
|
||
"type": "remediation developer"
|
||
},
|
||
{
|
||
"lang": "en",
|
||
"value": "Raul Vega del Valle",
|
||
"type": "analyst"
|
||
}
|
||
],
|
||
"source": {
|
||
"advisory": "GHSA-4992-7rv2-5pvq",
|
||
"discovery": "EXTERNAL"
|
||
},
|
||
"x_generator": {
|
||
"engine": "Vulnogram 1.0.0"
|
||
}
|
||
},
|
||
"adp": [
|
||
{
|
||
"metrics": [
|
||
{
|
||
"other": {
|
||
"type": "ssvc",
|
||
"content": {
|
||
"timestamp": "2026-03-13T18:05:24.550959Z",
|
||
"id": "CVE-2026-1527",
|
||
"options": [
|
||
{
|
||
"Exploitation": "none"
|
||
},
|
||
{
|
||
"Automatable": "no"
|
||
},
|
||
{
|
||
"Technical Impact": "partial"
|
||
}
|
||
],
|
||
"role": "CISA Coordinator",
|
||
"version": "2.0.3"
|
||
}
|
||
}
|
||
}
|
||
],
|
||
"title": "CISA ADP Vulnrichment",
|
||
"providerMetadata": {
|
||
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
|
||
"shortName": "CISA-ADP",
|
||
"dateUpdated": "2026-03-13T18:06:03.794Z"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
} |