Reseau 1.1.0 through 1.3.1 contain two resource-exhaustion conditions in the native TLS 1.2 and TLS 1.3 record layers. An unauthenticated network peer can send records that consume memory without a bound or keep a handshake task processing non-progressing input.
A peer can retain approximately 16 KiB of plaintext per record until the process exhausts memory, or stream empty handshake records to keep a connection task consuming CPU. Multiple connections can amplify either condition and impair service availability.
This advisory consolidates two handshake-time input-validation defects:
Both defects were introduced with Reseau's native TLS stack in version 1.1.0. Releases 1.0.x used the previous OpenSSL TLS engine and are not affected.
Upgrade to Reseau 1.3.2 or later. The fixed record layers reject both
application data received before handshake completion and empty handshake
records with a fatal unexpected_message alert.
There is no complete in-process workaround. Set a finite
handshake_timeout_ns and enforce connection rate and concurrency limits to
bound each handshake's duration and reduce repeated attacks; an attacker can
still consume substantial resources within that window. Terminating TLS in a
patched proxy before forwarding traffic to a vulnerable Reseau service avoids
the vulnerable record parser.
Reported to the JuliaLang security team through Anthropic's Coordinated Vulnerability Disclosure program.
{
"license": "CC-BY-4.0"
}