[CLSA-2026:1792511120] Fix CVE(s): CVE-2026-56847, CVE-2026-58039, CVE-2026-58044
Type:
security
Severity:
Moderate
Release date:
2026-10-20 15:45:32 UTC
Description:
* SECURITY UPDATE: under --experimental-permission, enabling trace events starts the tracing agent, which creates and truncates the file named by --trace-event-file-pattern without any FileSystemWrite check, so a process with no fs.write grant for that path can still write there (CVE-2026-56847) - debian/patches/CVE-2026-56847.patch: lift the ${pid}/${rotation} substitution out of NodeTraceWriter::OpenNewFileForStreaming() into a new static NodeTraceWriter::GetFilePath(), and use it in NodeCategorySet::Enable() to resolve the configured pattern and run the resulting path through THROW_IF_INSUFFICIENT_PERMISSIONS before the tracing agent is started. Also adds the upstream regression test test/parallel/test-permission-fs-write-trace-events.js - CVE-2026-56847 * SECURITY UPDATE: process.report.writeReport() checks the permission of the bare filename and of the cwd, but writes to report.directory joined with that filename, so under --experimental-permission a report can be created or truncated in a directory the process was never granted (CVE-2026-58039) - debian/patches/CVE-2026-58039.patch: hoist the report_directory and filename join in TriggerNodeReport() into a `pathname` local and move the FileSystemWrite check to after it, immediately before the file is opened, so the path that is checked is the path that is written; and prepend nr.getDirectory() to the resource the JavaScript gate in lib/internal/process/report.js tests. Also adds the upstream regression hunks to test/parallel/test-permission-fs-write-report.js - CVE-2026-58039 * SECURITY UPDATE: server.maxHeadersCount was applied only after parsing, by truncating the header list handed to JavaScript, while llhttp kept parsing and honouring every header it saw, so a request with more header pairs than the limit could be framed by Content-Length or Transfer-Encoding headers the application never sees -- a request smuggling and header-check bypass primitive (CVE-2026-58044) - debian/patches/CVE-2026-58044.patch: add a header_pairs_ counter and a TrackHeaderPair() check to the C++ Parser, called from on_header_field and reset with the rest of the per-message state, so exceeding the parser's maxHeaderPairs sets the llhttp error reason to HPE_HEADER_OVERFLOW and returns HPE_USER, rejecting the request instead of silently truncating it. Also adds the upstream regression test test/parallel/test-http-max-headers-count-overflow.js and the updated test-http-max-headers-count.js / test-https-max-headers-count.js - CVE-2026-58044
Updated packages:
  • alt-nodejs20-docs_20.20.2-13_amd64.deb
    sha:6e4e1d78332b979ffe862f5903fcede27a81256a
  • alt-nodejs20-nodejs_20.20.2-13_amd64.deb
    sha:81141cd9325328fa9b06f0f63c55b3fc7c0b6590
  • alt-nodejs20-nodejs-devel_20.20.2-13_amd64.deb
    sha:7a8566bf78e35dae4d7794b771bb01db7fe162f3
  • alt-nodejs20-npm_10.8.2-20.20.2-13_amd64.deb
    sha:af2e0d64192841da1deee6978b4ca7c6bf8d857f
  • alt-nodejs20-docs_20.20.2-13_arm64.deb
    sha:ca002cf9d09ab6685173fbcaf1453142b8f862f1
  • alt-nodejs20-nodejs_20.20.2-13_arm64.deb
    sha:20f663c768b2a69993f130275be8eab1cb5da71b
  • alt-nodejs20-nodejs-devel_20.20.2-13_arm64.deb
    sha:f7e0da1d12412b69d45d26942040e8f4b1269dfe
  • alt-nodejs20-npm_10.8.2-20.20.2-13_arm64.deb
    sha:3615a4ad43ca84f06bece5e8b9170f84840888dc
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.