Source: node-ajv
Version: 8.20.0~ds+~cs7.1.5-1
Severity: important
Tags: security upstream
X-Debbugs-Cc: [email protected], Debian Security Team <[email protected]>

Hi,

The following vulnerabilities were published for node-ajv.

node-ajv/8.20.0~ds+~cs7.1.5-1 provides fast-uri 4.1.4 only afaics, so
needs an update.

CVE-2026-86472[0]:
| fast-uri is a dependency-free RFC 3986 URI parser for Node.js, used
| by Fastify and ajv. In versions before 2.4.7, from 3.0.0 through
| 3.1.7, and from 4.0.0 through 4.1.4, fast-uri folds the host to
| lowercase before it percent-decodes the host, so a percent-encoded
| uppercase octet such as %41 decodes to a literal A that is never
| folded. For a scheme-relative reference such as //host there is no
| scheme, so the host canonicalization that would normally repair this
| does not run, and parse, normalize, and equal then disagree on the
| same host. An application that makes a case-sensitive host decision
| on fast-uri output, for example a host allowlist or denylist that
| compares the parsed host or uses equal, can be steered past the
| check with a percent-encoded uppercase octet, and because hostnames
| are case-insensitive in DNS and HTTP the evading spelling still
| reaches the host the check meant to gate. The issue is fixed in
| fast-uri 2.4.7, 3.1.8, and 4.1.5, and users should upgrade to one of
| those versions or later. As a workaround, compare hosts case-
| insensitively by lowercasing the parsed host before any allowlist or
| denylist decision.


CVE-2026-86818[1]:
| fast-uri is a dependency-free RFC 3986 URI parser for Node.js, used
| by Fastify and ajv, that added a mailto scheme parser in version
| 4.1.3. In versions 4.1.3 and 4.1.4, the mailto parser compares each
| query field name to the reserved names to, subject, and body while
| the name is still percent-encoded, and decodes it only when storing
| it as a generic header, so a percent-encoded spelling of a reserved
| field name is not recognized as that field at parse time but is re-
| emitted as the literal field name when the parsed URI is serialized.
| An application that validates, logs, or displays the recipient list
| from the first parse and then serializes the URI and sends it can
| silently gain an attacker-chosen recipient, and the subject and body
| fields can be smuggled across the same roundtrip. The issue is fixed
| in fast-uri 4.1.5, and users should upgrade to 4.1.5 or later. As a
| workaround, do not act on a mailto URI that fast-uri has re-
| serialized without first decoding and re-validating its recipient,
| subject, and body fields.


If you fix the vulnerabilities please also make sure to include the
CVE (Common Vulnerabilities & Exposures) ids in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-86472
    https://www.cve.org/CVERecord?id=CVE-2026-86472
[1] https://security-tracker.debian.org/tracker/CVE-2026-86818
    https://www.cve.org/CVERecord?id=CVE-2026-86818

Please adjust the affected versions in the BTS as needed.

Regards,
Salvatore

Reply via email to