Security & supply chain

October's Node.js fixes have to land in Azure Pipelines more than once

October's Node.js fixes have to land in Azure Pipelines more than once

Ten Node.js vulnerabilities fixed on October 21 have to be patched in Azure Pipelines more than once, because Node.js sits in several layers of a pipeline and each layer updates on its own. That is the core of security guidance Microsoft published on November 5 on the Azure DevOps Blog. The fixed releases are Node.js 22.23.4, 24.22.1 and 26.12.1.

The bugs most relevant to build infrastructure sit in name and certificate handling. CVE-2026-105482 can truncate a DNS name containing a NUL character after a full-name security check has already passed. CVE-2026-105483, CVE-2026-106069 and CVE-2026-106072 let unusual IP address spellings get past certificate identity checks. CVE-2026-111497 is a Brotli decompression bug that can corrupt memory when attacker-controlled data reaches an affected decoder. Per the guidance, the same Brotli CVE is also fixed in .NET, with patched baselines of 8.0.33, 9.0.22 and 10.0.14.

Each copy has its own owner

The agent comes first. Self-hosted agent v5.281.1, released October 23, moves its bundled Node24 runner to 24.22.1, and Microsoft says to roll it out through the supported agent-pool update process. Azure DevOps Server installations should follow the agent support for their release instead of installing this agent everywhere.

Next is the Node.js a pipeline picks for itself. Both UseNode@1 and NodeTool@0 default checkLatest to false. Microsoft's advice is to select a fixed release, or a later supported patch in the same major line, and keep that selection current.

Task and extension publishers need to update handlers and dependencies and publish new versions. Consumers should move to compatible, supported versions without forcing incompatible tasks onto Node24. Job containers and deployed applications are serviced separately again: update the runtime or image inputs, rebuild, redeploy, then verify the running version.

Check the binary, not the label

For Microsoft-hosted agents, the guidance warns against assuming patch status from an image label. Verify the job image, the agent and the executable that actually ran. Microsoft names two commands for it:

- script: |
    node --version
    node -p "process.execPath"
  displayName: Report the Node.js this step resolved

The version line answers whether the step got a fixed release. The path line answers which installed copy it came from, which is what tells you whether the agent, a tool task or the image supplied it.

Updating the agent pool closes one path. Containers and applications already deployed keep running the Node.js they were built with until someone rebuilds them.

Source: Azure DevOps Blog (devblogs.microsoft.com)

Related
Security & supply chain

Chainguard's drop-in Java libraries trade a framework upgrade for an SLA

Chainguard is shipping drop-in remediated Java libraries for legacy shops carrying unpatched CVE backlogs, positioned as a package swap inside the build in place of a framework upgrade. The trade-off is who owns the patching SLA from then on.

June 25, 2026
Security & supply chain

GitHub's package firewall puts a policy check between your runners and npm

GitHub has opened a package firewall in public preview for Enterprise Cloud customers. It sits between endpoints and upstream registries and checks npm metadata requests and downloads against enterprise policy before anything installs.

October 22, 2026
Security & supply chain

GitLab's critical patch: unauth file read from the commits API

GitLab 19.3.2, 19.2.6 and 19.1.8 ship eighteen CVEs' worth of fixes, including a Critical unauthenticated arbitrary-file read on the repository commits API. Self-managed operators have a downtime problem stacked on top of a rotate-your-CI-variables problem.

September 11, 2026

Turn this into your pipeline. Build it on Buddy.

Start free