Skip to content
Heist/ feed
Back to feed
High

node-ajv — security advisory

Type: advisorySources: OSVAdvisory ID: UBUNTU-CVE-2026-16221

Impact: fast-uri versions from 2.3.1 through 4.1.0 (including the 3.x line up to 3.1.3 and the 2.x line up to 2.4.2) do not treat a literal backslash character (U+005C) as an authority delimiter. Node's native WHATWG URL parser, used by fetch, undici, and Node's http and https clients, normalizes the backslash to a forward slash for special schemes such as http, https, ws, wss, ftp, and file. As a result, the two parsers extract different hosts from the same input string. Applications that use fast-uri to enforce host-based policy such as allowlists, denylists, loopback or SSRF filtering, redirect validation, or outbound proxy routing before passing the same URL into Node's URL or fetch consumers can be steered to an unintended destination, including cloud metadata endpoints, loopback, or internal hosts. Patches: upgrade to fast-uri 4.1.1, 3.1.4, or 2.4.3. Workarounds: none.

Products
node-ajv
Affected versions
5.0.0-1, 6.10.2-1, 6.12.6-2, 6.12.6-3, 8.12.0~ds+~2.1.1-4, 8.12.0~ds+~2.1.1-5, 8.17.1~ds+~3.0.1+~3.1.0-2, 8.17.1~ds+~3.0.1+~3.1.0-4build1, 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-3
Fixed versions
Not specified
CVEs
CVE-2026-16221
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 02:55 UTC · Revision 1

Source evidence

UBUNTU-CVE-2026-16221

core-osv · Original source

Published 19 Jul 2026, 15:16 UTC

Impact: fast-uri versions from 2.3.1 through 4.1.0 (including the 3.x line up to 3.1.3 and the 2.x line up to 2.4.2) do not treat a literal backslash character (U+005C) as an authority delimiter. Node's native WHATWG URL parser, used by fetch, undici, and Node's http and https clients, normalizes the backslash to a forward slash for special schemes such as http, https, ws, wss, ftp, and file. As a result, the two parsers extract different hosts from the same input string. Applications that use fast-uri to enforce host-based policy such as allowlists, denylists, loopback or SSRF filtering, redirect validation, or outbound proxy routing before passing the same URL into Node's URL or fetch consumers can be steered to an unintended destination, including cloud metadata endpoints, loopback, or internal hosts. Patches: upgrade to fast-uri 4.1.1, 3.1.4, or 2.4.3. Workarounds: none.

osv:UBUNTU-CVE-2026-16221

node-ajv

Fixed versions: Not specified

node-ajv

Fixed versions: Not specified

node-ajv

Fixed versions: Not specified

node-ajv

Fixed versions: Not specified

node-ajv

Fixed versions: Not specified

node-ajv

Fixed versions: Not specified

Complete source record
{
  "id": "d048d3e47a8bf2f21a5c4182315b7ce30367f672b055fcc778bb088af5745e11",
  "url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-16221",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "UBUNTU-CVE-2026-16221",
    "summary": "Impact: fast-uri versions from 2.3.1 through 4.1.0 (including the 3.x line up to 3.1.3 and the 2.x line up to 2.4.2) do not treat a literal backslash character (U+005C) as an authority delimiter. Node's native WHATWG URL parser, used by fetch, undici, and Node's http and https clients, normalizes the backslash to a forward slash for special schemes such as http, https, ws, wss, ftp, and file. As a result, the two parsers extract different hosts from the same input string. Applications that use fast-uri to enforce host-based policy such as allowlists, denylists, loopback or SSRF filtering, redirect validation, or outbound proxy routing before passing the same URL into Node's URL or fetch consumers can be steered to an unintended destination, including cloud metadata endpoints, loopback, or internal hosts. Patches: upgrade to fast-uri 4.1.1, 3.1.4, or 2.4.3. Workarounds: none.",
    "evidence": "osv:UBUNTU-CVE-2026-16221",
    "products": [
      {
        "name": {
          "value": "node-ajv",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "5.0.0-1",
            "evidence": "/affected/0/versions"
          }
        ]
      },
      {
        "name": {
          "value": "node-ajv",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "6.10.2-1",
            "evidence": "/affected/1/versions"
          }
        ]
      },
      {
        "name": {
          "value": "node-ajv",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "6.12.6-2",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "6.12.6-3",
            "evidence": "/affected/2/versions"
          }
        ]
      },
      {
        "name": {
          "value": "node-ajv",
          "evidence": "/affected/3/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "6.12.6-3",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "8.12.0~ds+~2.1.1-4",
            "evidence": "/affected/3/versions"
          }
        ]
      },
      {
        "name": {
          "value": "node-ajv",
          "evidence": "/affected/4/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-4build1",
            "evidence": "/affected/4/versions"
          },
          {
            "value": "8.20.0~ds+~cs6.1.3-1",
            "evidence": "/affected/4/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.2-1",
            "evidence": "/affected/4/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.3-1",
            "evidence": "/affected/4/versions"
          },
          {
            "value": "8.20.0~ds+~cs7.1.3-3",
            "evidence": "/affected/4/versions"
          }
        ]
      },
      {
        "name": {
          "value": "node-ajv",
          "evidence": "/affected/5/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "8.12.0~ds+~2.1.1-5",
            "evidence": "/affected/5/versions"
          },
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-2",
            "evidence": "/affected/5/versions"
          },
          {
            "value": "8.17.1~ds+~3.0.1+~3.1.0-4build1",
            "evidence": "/affected/5/versions"
          }
        ]
      }
    ],
    "severity": "high",
    "structured": {
      "id": "UBUNTU-CVE-2026-16221",
      "aliases": [
        "UBUNTU-CVE-2026-16221"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
        },
        {
          "type": "Ubuntu",
          "score": "medium"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "node-ajv",
            "purl": "pkg:deb/ubuntu/node-ajv?arch=source&distro=bionic",
            "ecosystem": "Ubuntu:18.04:LTS"
          },
          "versions": [
            "5.0.0-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-16221.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "node-ajv",
                "binary_version": "5.0.0-1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "node-ajv",
            "purl": "pkg:deb/ubuntu/node-ajv?arch=source&distro=focal",
            "ecosystem": "Ubuntu:20.04:LTS"
          },
          "versions": [
            "6.10.2-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-16221.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "node-ajv",
                "binary_version": "6.10.2-1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "node-ajv",
            "purl": "pkg:deb/ubuntu/node-ajv?arch=source&distro=jammy",
            "ecosystem": "Ubuntu:22.04:LTS"
          },
          "versions": [
            "6.12.6-2",
            "6.12.6-3"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-16221.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "node-ajv",
                "binary_version": "6.12.6-3"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "node-ajv",
            "purl": "pkg:deb/ubuntu/node-ajv?arch=source&distro=noble",
            "ecosystem": "Ubuntu:24.04:LTS"
          },
          "versions": [
            "6.12.6-3",
            "8.12.0~ds+~2.1.1-4"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-16221.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "node-ajv",
                "binary_version": "8.12.0~ds+~2.1.1-4"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "node-ajv",
            "purl": "pkg:deb/ubuntu/node-ajv?arch=source&distro=stonking",
            "ecosystem": "Ubuntu:26.10"
          },
          "versions": [
            "8.17.1~ds+~3.0.1+~3.1.0-4build1",
            "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-3"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-16221.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "node-ajv",
                "binary_version": "8.20.0~ds+~cs7.1.3-3"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "node-ajv",
            "purl": "pkg:deb/ubuntu/node-ajv?arch=source&distro=resolute",
            "ecosystem": "Ubuntu:26.04:LTS"
          },
          "versions": [
            "8.12.0~ds+~2.1.1-5",
            "8.17.1~ds+~3.0.1+~3.1.0-2",
            "8.17.1~ds+~3.0.1+~3.1.0-4build1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-16221.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "node-ajv",
                "binary_version": "8.17.1~ds+~3.0.1+~3.1.0-4build1"
              }
            ]
          }
        }
      ],
      "modified": "2026-10-17T12:59:53.973833171Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-16221"
      ],
      "references": [
        "https://ubuntu.com/security/CVE-2026-16221",
        "https://www.cve.org/CVERecord?id=CVE-2026-16221",
        "https://github.com/fastify/fast-uri/security/advisories/GHSA-v2hh-gcrm-f6hx"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-16221",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 359896,
  "published_at": "2026-07-19T15:16:00+00:00"
}