JLSEC-2026-802

Source
https://github.com/JuliaLang/SecurityAdvisories.jl/blob/main/advisories/published/2026/JLSEC-2026-802.md
Import Source
https://github.com/JuliaLang/SecurityAdvisories.jl/tree/generated/osv/2026/JLSEC-2026-802.json
JSON Data
https://api.osv.dev/v1/vulns/JLSEC-2026-802
Aliases
  • ANT-2026-5NJRQ19H
Published
2026-07-28T13:54:29.705Z
Modified
2026-07-28T14:00:05.232177988Z
Summary
TLS 1.2 session resumption can renew one master secret indefinitely
Details

Reseau 1.1.0 through 1.3.1 issue a fresh TLS 1.2 session ticket after a resumed handshake by copying the original master secret while resetting the ticket's creation and expiry times. A client that resumes at least once during every ticket lifetime can keep the same master secret valid indefinitely.

Impact

Indefinite renewal weakens the intended bound on a resumption secret's lifetime and erodes forward secrecy. If that master secret, or the server's ticket-encryption key together with a usable ticket, is later compromised, an attacker may be able to decrypt a much larger window of captured resumed-session traffic than the configured ticket lifetime suggests.

The issue does not by itself disclose a ticket or secret; the attacker must first possess a valid ticket or obtain the relevant key material.

Technical details

The resumed-server handshake copied the cached session's master_secret into a new ticket but set created_at to the current time and use_by to seven days later. Because no absolute age was carried forward, chained resumptions renewed the same secret without limit.

This ticket implementation was 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.

Patches

Upgrade to Reseau 1.3.2 or later. Resumed tickets now preserve the original secret's creation and expiry timestamps, and resumption is rejected once that absolute lifetime expires so that a full handshake establishes fresh key material.

Workarounds

Set session_tickets_disabled = true in the TLS configuration, or configure the service to require TLS 1.3, until Reseau can be upgraded. Operators can also rotate ticket-encryption keys and force full handshakes more frequently, but that is less reliable than disabling the vulnerable TLS 1.2 resumption path.

Reported to the JuliaLang security team through Anthropic's Coordinated Vulnerability Disclosure program.

Database specific
{
    "license": "CC-BY-4.0"
}
References
Credits
    • Julia Security Team in collaboration with Claude and Anthropic Research - FINDER

Affected packages

Julia / Reseau

Package

Name
Reseau
Purl
pkg:julia/Reseau?uuid=802f3686-a58f-41ce-bb0c-3c43c75bba36

Affected ranges

Type
SEMVER
Events
Introduced
1.1.0
Fixed
1.3.2

Database specific

source
"https://github.com/JuliaLang/SecurityAdvisories.jl/tree/generated/osv/2026/JLSEC-2026-802.json"