Our #Tor relay and .onion services have been upgraded to the latest security critical version. Please update your browsers and server:
https://gitlab.torproject.org/tpo/core/tor/-/raw/tor-0.4.9.13/ChangeLog
Changes in version 0.4.9.13 - 2026-09-23 This security release includes several high severity fixes, once again originating from the LLM report firehose. The fixes affect all Tor components: relays, clients, and onion services. We strongly recommend upgrading as soon as possible.
o Major bugfixes (security):
- Avoid a set of possible memory corruption, double-free, and null pointer dereference bugs that could occur with some reverse DNS virtual address configurations. Fixes bug 41381; bugfix on 0.1.0.1-rc. Tracked as TROVE-2026-051.
- Avoid cacheing DNS PTR responses when DNS caching is disabled.
Previous code to prevent this caching parsed the response addresses incorrectly, and defaulted to caching when the address could not be parsed. Fixes bug 41380; bugfix on 0.2.4.7-alpha. Tracked as TROVE-2026-050.
o Major bugfixes (client stream handling):
- Stop trying to reattach BEGIN_DIR directory streams. Previously we would look at the reason field in the END cell and consider retrying it like a normal BEGIN exit request, which led to bizarre behavior. TROVE-2026-052. Fixes bug 41369; bugfix on 0.1.2.5-alpha.
o Major bugfixes (client, guard):
- Stop blaming guards for circuit, stream, directory-request, and generic channel-close failures, and instead only record guard failure once per unsuccessful outgoing connection establishment.
This also covers directory guards, synchronous failures, and proxy or pluggable transport paths. This fixes TROVE-2026-030, TROVE-2026-038, TROVE-2026-041. Fixes bug 41360; bugfix on 0.3.0.1-alpha, bug 41365; bugfix on 0.3.0.1-alpha, and bug 41366; bugfix on 0.3.0.1-alpha.
o Major bugfixes (connection handling):
- Fix a use-after-free when a TCP connection succeeds immediately but starting its TLS handshake fails. Fixed by detaching the OR connection from its channel before freeing the channel, so deferred connection cleanup cannot access freed memory. This fixes TROVE-2026-056. Fixes bug 41398; bugfix on 0.2.4.4-alpha.
o Major bugfixes (onion service):
- A service-side rendezvous circuit that failed before reaching the rendezvous point was relaunched twice (once when marked for close and once more when freed), producing two concurrent circuits that carried the same rendezvous cookie and key material and, with repeated failures, 2^(N+1)-1 circuit builds per INTRODUCE2 instead of N+1. It is now relaunched exactly once. TROVE-2026-058. Fixes bug 41408; bugfix on 0.4.7.11.
- Rotate intro point at the service if the INTRODUCE2 replay cache is at capacity. TROVE-2026-012. Fixes bug 41256; bugfix on 0.3.2.1-alpha.
o Major bugfixes (onion service, TROVE):
- Reject INTRODUCE2 cells containing a zeroed rendezvous point ntor onion key. Previously, we would record a first-hop failure against a guard that was never contacted. This is trove TROVE-2026-030 Fixes bug 41360; bugfix on 0.4.9.1-alpha.
o Major bugfixes (relay, ):
- Remove circuits waiting for a channel from the pending channel list as soon as they are marked for close instead of waiting until they are freed. Fixes bug 41393; bugfix on 0.2.8.1-alpha.
o Major bugfixes (stream isolation):
- When a client establishes a circuit to an onion service, but the original stream had already closed, we were mistakenly clearing the isolation parameters on that circuit, allowing it to be reused by a future stream from a different isolation context. A malicious onion service or HSDir relay could use this technique to break first-party isolation (FPI) in Tor Browser. TROVE-2026-053. Fixes bug 41368; bugfix on 0.2.3.3-alpha.