Alpine: multiple nodejs packages: security update to 24.22.1-r0

high Tenable Cloud Security Plugin ID 477145

Description

There are packages installed that are affected by multiple vulnerabilities referenced in the following CVEs:

- A flaw in Node.js TLS hostname verification allows a certificate with only a DNS SAN to authenticate an IP
endpoint when the client connects using a non-canonical IPv4 spelling, such as `0177.0.0.1`, `0x7f.0.0.1`,
`2130706433` or `127.1`. `tls.checkServerIdentity()` did not classify these hosts as IP addresses, but
normalized them to their canonical form and matched the result against the certificate DNS names. A
certificate containing `DNS:127.0.0.1` and no `IP Address:127.0.0.1` SAN was therefore accepted, while the
same certificate is correctly rejected for `127.0.0.1`. Exploitation requires a certificate with a numeric
DNS SAN issued by a CA trusted by the client, and a platform resolver that accepts these spellings, such
as glibc. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**. (CVE-2026-106072)

- A flaw in Node.js HTTP Agent connection reuse can cause a client to accept as valid a response that was
sent before the client has sent the request. This is an incomplete fix of CVE-2026-48931. The guard that
destroys idle keep-alive sockets when unexpected data arrives only runs when the event loop polls for I/O.
If an unsolicited response has already reached the socket but has not been read yet when the socket is
handed to a new request, for example because the event loop was busy with synchronous work, the guard is
removed without seeing it and the data is parsed as the response to the new request. This vulnerability
affects Node.js **26.x**, **24.x**, and **22.x**. (CVE-2026-105481)

- A flaw in Node.js DNS resolution allows hostnames containing a NUL byte to be silently truncated by the
dns.resolve*() functions and dns.reverse(). This is an incomplete fix of CVE-2026-48930, which only
covered dns.lookup() and the net/tls host options. Because the name is passed to c-ares as a C string,
resolving attacker.example\0.trusted.example queries attacker.example and returns its records without any
error. Applications that validate a hostname, for example against a domain allowlist, and then resolve it
with dns.resolve*() can act on records for a different name than the one they validated. This
vulnerability affects Node.js 26.x, 24.x, and 22.x. (CVE-2026-105482)

- A flaw in Node.js TLS hostname verification allows a certificate without a matching IP address SAN to
authenticate a connection to an IPv4 address when the host is written with non-ASCII characters, such as
fullwidth digits (`127.0.0.1`). `tls.checkServerIdentity()` did not recognize such hosts as IP addresses,
even though they normalize and resolve to a regular IPv4 address, and matched them against the certificate
DNS names and Common Name instead. A certificate containing `DNS:127.0.0.1` or `DNS:*.0.0.1` could
therefore be accepted for an IP endpoint it was not issued for. This is a regression introduced after the
fix for CVE-2026-48618. This vulnerability affects Node.js **26.x** and **24.x**. (CVE-2026-105483)

- A flaw in Node.js TLS hostname verification can cause a server certificate to be validated against a
different IP address than the one the client connected to, when the host is a non-canonical IPv4 literal
with a leading zero, such as `0127.0.0.1`. `tls.checkServerIdentity()` normalizes the host following the
WHATWG URL rules, which read a leading-zero octet as octal (`0127.0.0.1` becomes `87.0.0.1`), while the
connection is made through the operating system resolver, which on some platforms such as macOS reads it
as decimal (`127.0.0.1`). A server at the connected address can then be authenticated with a certificate
issued for another IP address. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.
(CVE-2026-106069)

Solution

Update the nodejs library and its related packages to version 24.22.1-r0 or later.

See Also

https://security.alpinelinux.org/vuln/CVE-2026-105481

https://security.alpinelinux.org/vuln/CVE-2026-105482

https://security.alpinelinux.org/vuln/CVE-2026-105483

https://security.alpinelinux.org/vuln/CVE-2026-106069

https://security.alpinelinux.org/vuln/CVE-2026-106070

https://security.alpinelinux.org/vuln/CVE-2026-106071

https://security.alpinelinux.org/vuln/CVE-2026-106072

https://security.alpinelinux.org/vuln/CVE-2026-106073

https://security.alpinelinux.org/vuln/CVE-2026-106074

Plugin Details

Severity: High

ID: 477145

Version: Revision 1.2

Type: Local

Published: 10/23/2026

Updated: 10/23/2026

Supported Sensors: Agentless Assessment

Risk Information

VPR

Risk Factor: Medium

Score: 4.5

Percentile: 57.86

CVSS v2

Risk Factor: High

Base Score: 8

Temporal Score: 5.9

Vector: CVSS2#AV:N/AC:L/Au:M/C:C/I:C/A:P

CVSS Score Source: CVE-2026-106072

CVSS v3

Risk Factor: High

Base Score: 7.4

Temporal Score: 6.4

Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N

Temporal Vector: CVSS:3.0/E:U/RL:O/RC:C

CVSS Score Source: CVE-2026-106069

Vulnerability Information

Exploit Ease: No known exploits are available

Vulnerability Publication Date: 10/21/2026

Reference Information

CVE: CVE-2026-105481, CVE-2026-105482, CVE-2026-105483, CVE-2026-106069, CVE-2026-106070, CVE-2026-106071, CVE-2026-106072, CVE-2026-106073, CVE-2026-106074