CVE-2026-2229 Affecting code-server package, versions <4.110.1-r2


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.18% (39th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-CHAINGUARDLATEST-CODESERVER-15753095
  • published23 Mar 2026
  • disclosed12 Mar 2026

Introduced: 12 Mar 2026

CVE-2026-2229  (opens in a new tab)

How to fix?

Upgrade Chainguard code-server to version 4.110.1-r2 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream code-server package and not the code-server package as distributed by Chainguard. See How to fix? for Chainguard relevant fixed versions and status.

ImpactThe undici WebSocket client is vulnerable to a denial-of-service attack due to improper validation of the server_max_window_bits parameter in the permessage-deflate extension. When a WebSocket client connects to a server, it automatically advertises support for permessage-deflate compression. A malicious server can respond with an out-of-range server_max_window_bits value (outside zlib's valid range of 8-15). When the server subsequently sends a compressed frame, the client attempts to create a zlib InflateRaw instance with the invalid windowBits value, causing a synchronous RangeError exception that is not caught, resulting in immediate process termination.

The vulnerability exists because:

  • The isValidClientWindowBits() function only validates that the value contains ASCII digits, not that it falls within the valid range 8-15
  • The createInflateRaw() call is not wrapped in a try-catch block
  • The resulting exception propagates up through the call stack and crashes the Node.js process

CVSS Base Scores

version 3.1