CVE-2026-31943
Full vulnerability record from the local CVENow database.
Description
LibreChat is a ChatGPT clone with additional features. Prior to version 0.8.3, `isPrivateIP()` in `packages/api/src/auth/domain.ts` fails to detect IPv4-mapped IPv6 addresses in their hex-normalized form, allowing any authenticated user to bypass SSRF protection and make the server issue HTTP requests to internal network resources — including cloud metadata services (e.g., AWS `169.254.169.254`), loopback, and RFC1918 ranges. Version 0.8.3 fixes the issue.
Severity
HIGH
CVSS score
8.5
(v3.1)
Vulnerability status
Modified
Source identifier
Published
2026-03-27 20:16:29.897000
Last modified
2026-10-26 21:10:00.170000
View original CVE JSON
{
"id": "CVE-2026-31943",
"sourceIdentifier": "[email protected]",
"published": "2026-03-27T20:16:29.897",
"lastModified": "2026-10-26T21:10:00.170",
"vulnStatus": "Modified",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "LibreChat is a ChatGPT clone with additional features. Prior to version 0.8.3, `isPrivateIP()` in `packages/api/src/auth/domain.ts` fails to detect IPv4-mapped IPv6 addresses in their hex-normalized form, allowing any authenticated user to bypass SSRF protection and make the server issue HTTP requests to internal network resources — including cloud metadata services (e.g., AWS `169.254.169.254`), loopback, and RFC1918 ranges. Version 0.8.3 fixes the issue."
},
{
"lang": "es",
"value": "LibreChat es un clon de ChatGPT con características adicionales. Antes de la versión 0.8.3, ’isPrivateIP()’ en ’packages/api/src/auth/domain.ts’ no detecta direcciones IPv6 mapeadas a IPv4 en su forma hexadecimal normalizada, permitiendo a cualquier usuario autenticado eludir la protección SSRF y hacer que el servidor emita solicitudes HTTP a recursos de red internos - incluyendo servicios de metadatos en la nube (p. ej., AWS ’169.254.169.254’), loopback y rangos RFC1918. La versión 0.8.3 corrige el problema."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "danny-avila",
"product": "LibreChat",
"versions": [
{
"version": "< 0.8.3",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N",
"baseScore": 8.5,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "LOW",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 3.1,
"impactScore": 4.7
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-03-31T18:38:43.982569Z",
"id": "CVE-2026-31943",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-918"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:librechat:librechat:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.8.3",
"matchCriteriaId": "2D34833A-E49E-47F0-8C2E-0D55B6CF59BB"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:librechat:librechat:0.8.3:rc1:*:*:*:*:*:*",
"matchCriteriaId": "482D0FE3-2AB3-47B6-982E-564A5B824464"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:librechat:librechat:0.8.3:rc2:*:*:*:*:*:*",
"matchCriteriaId": "451E27B8-D779-4C62-AF93-C8EF026E3B09"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/danny-avila/LibreChat/security/advisories/GHSA-w5r7-4f94-vp4c",
"source": "[email protected]",
"tags": [
"Exploit",
"Vendor Advisory"
]
},
{
"url": "https://github.com/danny-avila/LibreChat/security/advisories/GHSA-w5r7-4f94-vp4c",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Exploit",
"Vendor Advisory"
]
}
]
}