CVE-2023-48230 Cap'n Proto WebSocket message can cause crash

Medium 5.9 Published Updated

A remote attacker can cause a crash in Cap'n Proto's KJ HTTP library via a buffer underrun when WebSocket compression is enabled.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2023-48230?

CVE-2023-48230 is a medium-severity memory corruption vulnerability in capnproto, published on 21 Nov 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Cap'n Proto is a data interchange format and capability-based RPC system. In versions 1.0 and 1.0.1, when using the KJ HTTP library with WebSocket compression enabled, a buffer underrun can be caused by a remote peer. The underrun always writes a constant value that is not attacker-controlled, likely resulting in a crash, enabling a remote denial-of-service attack. Most Cap'n Proto and KJ users are unlikely to have this functionality enabled and so unlikely to be affected. Maintainers suspect only the Cloudflare Workers Runtime is affected.

If KJ HTTP is used with WebSocket compression enabled, a malicious peer may be able to cause a buffer underrun on a heap-allocated buffer. KJ HTTP is an optional library bundled with Cap'n Proto, but is not directly used by Cap'n Proto. WebSocket compression is disabled by default. It must be enabled via a setting passed to the KJ HTTP library via `HttpClientSettings` or `HttpServerSettings`. The bytes written out-of-bounds are always a specific constant 4-byte string `{ 0x00, 0x00, 0xFF, 0xFF }`. Because this string is not controlled by the attacker, maintainers believe it is unlikely that remote code execution is possible. However, it cannot be ruled out. This functionality first appeared in Cap'n Proto 1.0. Previous versions are not affected.

This issue is fixed in Cap'n Proto 1.0.1.1.

Weakness: CWE-787, CWE-124

Which versions are affected by CVE-2023-48230?

It affects 1 product.

Products include Capnproto Capnproto.

How do I fix CVE-2023-48230?

Upgrade to a fixed version.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2023-48230 being exploited?

There is no known exploitation of CVE-2023-48230 in the wild and no public exploit code.

Sources

Also known as AZL-42681, DEBIAN-CVE-2023-48230, GHSA-r89h-f468-62w3.

Is CVE-2023-48230 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free