Skip to content
Heist/ feed
Back to feed
HighFix available

node-ajv — security advisory

Type: advisorySources: OSVAdvisory ID: DEBIAN-CVE-2026-75931

fast-uri is a URI parser for Node.js. It canonicalizes a host to its ASCII form only when the input carries an explicit scheme, so a scheme-relative reference such as a host preceded by two slashes is returned with its host verbatim and no error set. As a result fast-uri's own entry points disagree with each other: parse, resolve, normalize, and equal can yield different hosts for the same input depending only on whether a scheme is written out, and equal can return opposite verdicts for the same pair of hosts. An application that extracts a host with fast-uri to check it against a policy list and then resolves the same reference can make its decision on one host while the destination is another, enabling host confusion and policy bypass. The affected versions are 2.4.2 up to but not including 2.4.5, 3.1.3 up to but not including 3.1.6, and 4.0.1 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which canonicalize the host consistently across the resolve path. Users should upgrade to a patched version.

Products
node-ajv
Affected versions
8.12.0~ds+~2.1.1-5, 8.17.1~ds+~3.0.1+~3.1.0-1, 8.17.1~ds+~3.0.1+~3.1.0-2, 8.17.1~ds+~3.0.1+~3.1.0-3, 8.17.1~ds+~3.0.1+~3.1.0-4, 8.18.0~ds+~cs6.1.1-1, 8.18.0~ds+~cs6.1.1-2, 8.20.0~ds+~cs6.1.3-1, 8.20.0~ds+~cs7.1.2-1, 8.20.0~ds+~cs7.1.3-1, 8.20.0~ds+~cs7.1.3-2, 8.20.0~ds+~cs7.1.3-3, 8.20.0~ds+~cs7.1.4-1, 8.20.0~ds+~cs7.1.5-1, 8.20.0~ds+~cs7.1.6-1, 8.20.0~ds+~cs7.1.6-2
Fixed versions
8.20.0~ds+~cs7.1.4-1
CVEs
CVE-2026-75931
Confirmed fixed CVEs
Not specified
Updated in this feed
30 Oct 2026, 17:32 UTC · Revision 1

Source evidence

DEBIAN-CVE-2026-75931

core-osv · Original source

Published 24 Aug 2026, 10:16 UTC

fast-uri is a URI parser for Node.js. It canonicalizes a host to its ASCII form only when the input carries an explicit scheme, so a scheme-relative reference such as a host preceded by two slashes is returned with its host verbatim and no error set. As a result fast-uri's own entry points disagree with each other: parse, resolve, normalize, and equal can yield different hosts for the same input depending only on whether a scheme is written out, and equal can return opposite verdicts for the same pair of hosts. An application that extracts a host with fast-uri to check it against a policy list and then resolves the same reference can make its decision on one host while the destination is another, enabling host confusion and policy bypass. The affected versions are 2.4.2 up to but not including 2.4.5, 3.1.3 up to but not including 3.1.6, and 4.0.1 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which canonicalize the host consistently across the resolve path. Users should upgrade to a patched version.

osv:DEBIAN-CVE-2026-75931

node-ajv

Fixed versions: Not specified

node-ajv

Fixed versions: 8.20.0~ds+~cs7.1.4-1

Complete source record
{
  "id": "2d67b41644cff7288c486d7bec57d6d0ef1bd8fac3d9c2edb06eb789099b7950",
  "url": "https://osv.dev/vulnerability/DEBIAN-CVE-2026-75931",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "DEBIAN-CVE-2026-75931",
    "summary": "fast-uri is a URI parser for Node.js. It canonicalizes a host to its ASCII form only when the input carries an explicit scheme, so a scheme-relative reference such as a host preceded by two slashes is returned with its host verbatim and no error set. As a result fast-uri's own entry points disagree with each other: parse, resolve, normalize, and equal can yield different hosts for the same input depending only on whether a scheme is written out, and equal can return opposite verdicts for the same pair of hosts. An application that extracts a host with fast-uri to check it against a policy list and then resolves the same reference can make its decision on one host while the destination is another, enabling host confusion and policy bypass. The affected versions are 2.4.2 up to but not including 2.4.5, 3.1.3 up to but not including 3.1.6, and 4.0.1 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which canonicalize the host consistently across the resolve path. Users should upgrade to a patched version.",
    "evidence": "osv:DEBIAN-CVE-2026-75931",
    "products": [
      {
        "name": {
          "value": "node-ajv",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "8.12.0~ds+~2.1.1-5",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-2",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-3",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-4",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.18.0~ds+~cs6.1.1-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.18.0~ds+~cs6.1.1-2",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.20.0~ds+~cs6.1.3-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.2-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.3-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.3-2",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.3-3",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.4-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.5-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.6-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.6-2",
            "evidence": "/affected/0/versions"
          }
        ]
      },
      {
        "name": {
          "value": "node-ajv",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "8.20.0~ds+~cs7.1.4-1",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": [
          {
            "value": "8.12.0~ds+~2.1.1-5",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-2",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-3",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-4",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.18.0~ds+~cs6.1.1-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.18.0~ds+~cs6.1.1-2",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.20.0~ds+~cs6.1.3-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.2-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.3-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.3-2",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.3-3",
            "evidence": "/affected/1/versions"
          }
        ]
      }
    ],
    "severity": "high",
    "structured": {
      "id": "DEBIAN-CVE-2026-75931",
      "aliases": [
        "DEBIAN-CVE-2026-75931"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "node-ajv",
            "purl": "pkg:deb/debian/node-ajv?arch=source&distro=trixie",
            "ecosystem": "Debian:13"
          },
          "versions": [
            "8.12.0~ds+~2.1.1-5",
            "8.17.1~ds+~3.0.1+~3.1.0-1",
            "8.17.1~ds+~3.0.1+~3.1.0-2",
            "8.17.1~ds+~3.0.1+~3.1.0-3",
            "8.17.1~ds+~3.0.1+~3.1.0-4",
            "8.18.0~ds+~cs6.1.1-1",
            "8.18.0~ds+~cs6.1.1-2",
            "8.20.0~ds+~cs6.1.3-1",
            "8.20.0~ds+~cs7.1.2-1",
            "8.20.0~ds+~cs7.1.3-1",
            "8.20.0~ds+~cs7.1.3-2",
            "8.20.0~ds+~cs7.1.3-3",
            "8.20.0~ds+~cs7.1.4-1",
            "8.20.0~ds+~cs7.1.5-1",
            "8.20.0~ds+~cs7.1.6-1",
            "8.20.0~ds+~cs7.1.6-2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-75931.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "8.20.0~ds+~cs7.1.4-1"
                }
              ]
            }
          ],
          "package": {
            "name": "node-ajv",
            "purl": "pkg:deb/debian/node-ajv?arch=source&distro=forky",
            "ecosystem": "Debian:14"
          },
          "versions": [
            "8.12.0~ds+~2.1.1-5",
            "8.17.1~ds+~3.0.1+~3.1.0-1",
            "8.17.1~ds+~3.0.1+~3.1.0-2",
            "8.17.1~ds+~3.0.1+~3.1.0-3",
            "8.17.1~ds+~3.0.1+~3.1.0-4",
            "8.18.0~ds+~cs6.1.1-1",
            "8.18.0~ds+~cs6.1.1-2",
            "8.20.0~ds+~cs6.1.3-1",
            "8.20.0~ds+~cs7.1.2-1",
            "8.20.0~ds+~cs7.1.3-1",
            "8.20.0~ds+~cs7.1.3-2",
            "8.20.0~ds+~cs7.1.3-3"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-75931.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        }
      ],
      "modified": "2026-10-15T10:03:22.582081161Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-75931"
      ],
      "references": [
        "https://security-tracker.debian.org/tracker/CVE-2026-75931"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-75931",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 330478,
  "published_at": "2026-08-24T10:16:40.113+00:00"
}