[CLSA-2026:1792720531] Fix of 10 CVEs
Type:
security
Severity:
Critical
Release date:
2026-10-23 01:55:49 UTC
Description:
* SECURITY UPDATE: keep-alive response-queue desynchronisation -- the CVE-2026-48931 data guard is driven by libuv's read callback, so bytes that reach the socket's receive buffer after the last event-loop poll are invisible to it and a reused free socket can answer the next request with a response written before that request was sent (CVE-2026-105481) - debian/patches/CVE-2026-105481.patch: add LibuvStreamWrap::HasPendingRead(), a MSG_PEEK|MSG_DONTWAIT probe exposed to JavaScript as hasPendingRead(), and check it in Agent.addRequest() before a socket is taken from the free pool * SECURITY UPDATE: dns.resolve truncates names containing a NUL character, because the resolver bindings validated the hostname only with validateString() and c-ares then took it as a NUL-terminated C string (CVE-2026-105482) - debian/patches/CVE-2026-105482.patch: validate every resolve input of both the callback and the promises API with validateStringWithoutNullBytes() * SECURITY UPDATE: TLS certificate hostname bypass -- net.isIP() answers 0 for every non-canonical spelling of an IP address, so fullwidth digits, octal, hexadecimal, decimal and short-form IPv4 literals were routed to the DNS-name branch of checkServerIdentity() and matched against DNS SANs (CVE-2026-105483, CVE-2026-106069, CVE-2026-106072) - debian/patches/CVE-2026-105483.patch: reject non-canonical IP addresses in server identity checks * SECURITY UPDATE: Permission Model filesystem over-grant via wildcard radix lookup -- NextNode() bounded the prefix walk by the length of the queried path, so a path shorter than the child's prefix matched on a proper prefix alone and the wildcard shortcut then granted it (CVE-2026-106071) - debian/patches/CVE-2026-106071.patch: bound the walk by the prefix length * SECURITY UPDATE: Permission Model bypass with fs.realpathSync(), the one realpath implementation that walks the path through the unchecked bindings rather than the checked public wrappers (CVE-2026-106073) - debian/patches/CVE-2026-106073.patch: check kFileSystemRead in realpathSync() * SECURITY UPDATE: crypto.randomUUID() and crypto.randomInt() entropy caches are captured in user-land startup snapshots and single executable applications, so every process launched from one replays the same values (CVE-2026-106074) - debian/patches/CVE-2026-106074.patch: reset both caches across snapshot serialisation and deserialisation * SECURITY UPDATE: the Brotli decoder returned BROTLI_FALSE for a block switch in a meta-block that declared NBLTYPES=1, violating the BROTLI_SAFE contract that BROTLI_FALSE means short input -- the unsafe path discarded it into a tight infinite loop and the safe path into a permanent NEEDS_MORE_INPUT, so any decode of attacker-supplied Brotli, including a Content-Encoding: br response body, hangs the process (CVE-2026-111497) - debian/patches/CVE-2026-111497.patch: cherry-pick google/brotli 0ed4268a4401 so the condition is reported as a format error, and expose BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH
Updated packages:
  • alt-nodejs20-docs_20.20.2-14_amd64.deb
    sha:f99766f4a044fa923cb50f9b7501c35c23550265
  • alt-nodejs20-nodejs_20.20.2-14_amd64.deb
    sha:ca60bcfde16a5f22c811d62dcbe9f01751ed80fb
  • alt-nodejs20-nodejs-devel_20.20.2-14_amd64.deb
    sha:ad196e24e70da92d1c73f2673b7665e0a1491b92
  • alt-nodejs20-npm_10.8.2-20.20.2-14_amd64.deb
    sha:74dcb0d9ec8a532ab21c77b04cb606790e8e275e
  • alt-nodejs20-docs_20.20.2-14_arm64.deb
    sha:9726efd9e482124f12bcd34df6fcd48d92637ce1
  • alt-nodejs20-nodejs_20.20.2-14_arm64.deb
    sha:dcb53df804b1a179061563e222177476232d270d
  • alt-nodejs20-nodejs-devel_20.20.2-14_arm64.deb
    sha:ea16dd38b8b5b3f843ac3494ba082aab299d0ef2
  • alt-nodejs20-npm_10.8.2-20.20.2-14_arm64.deb
    sha:526482a582192a11594233fed7cf969e41540295
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.