← Back to CVE Explorer

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"
      ]
    }
  ]
}