FreeSenseFreeSenseSecurity
freesense.org
← Fixed vulnerabilities
Fixed

Remote DOS via uninitialized memory access in KTLS receive

FreeBSD-SA-26:46.ktls · CVE-2026-49423

Our decision for FreeSense

FreeBSD corrected this on 2026-06-30, before the FreeBSD source pin of every FreeSense version.

  • Advisory: corrected 2026-06-30
  • FreeSense 1.0 pin: e004ff15f87e (2026-08-03)
  • FreeSense 1.1 pin: a52c50b4b7c2 (2026-10-04)
  • FreeSense 1.2 pin: a52c50b4b7c2 (2026-10-04)
Decided by rules, not yet reviewed. The status comes from the advisory's correction date and the build configuration. A maintainer has not looked at whether FreeSense is exposed in practice. How we triage

By FreeSense version

VersionStatusFreeBSD pin
FreeSense 1.01.0.7 · frozen, no further fixesFixedFreeBSD pin of 2026-08-032026-08-03e004ff15
FreeSense 1.11.1.9FixedFreeBSD pin of 2026-10-042026-10-04a52c50b4
FreeSense 1.21.2.0-DEVELOPMENTFixedFreeBSD pin of 2026-10-042026-10-04a52c50b4

Workaround

Only users running an application which enables receive-side KTLS are affected. Systems with the kern.ipc.tls.enable sysctl set to 0 are unaffected. The kern.ipc.tls.cbc_enable sysctl prevents applications from using AES-CBC with KTLS. Setting it to 0 will prevent applications from establishing new KTLS sessions using AES-CBC.

What FreeBSD says

When building the iovec array for a received TLS 1.2 CBC record, ktls_ocf_tls_cbc_decrypt() incremented the iovec index for every mbuf in the chain, including mbufs that were skipped because they contained only TLS header bytes. This left uninitialized entries in the iovec array. The iovec array was allocated without zeroing.

Impact

A remote TLS peer can cause the kernel to read from uninitialized iovec entries during HMAC computation, resulting in a kernel panic. The peer must be able to control TCP segmentation such that the first mbuf of a CBC record contains only the 5-byte TLS record header.

Excerpt from the FreeBSD advisory. Read the original for the full text and the fix.

Copied to clipboard