Opened 4 months ago

Last modified 7 weeks ago

#29927 new defect

Tor protocol errors causing silent dropped cells

Reported by: mikeperry Owned by:
Priority: High Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-hs, diagnostic, mystery, security
Cc: starlight@… Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description (last modified by mikeperry)

While testing vanguards, I've got some mystery cases client side where circuits are getting closed with END_CIRC_REASON_TORPROTOCOL, but Tor is not emmitting any log lines that correspond to this, even at debug level.

This is happening for circuits with purpose CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED. Additionally, all circuits seem able to fail during construction with END_CIRC_REASON_TORPROTOCOL, with no Tor log messages even at debug loglevel. Possibly more ntor handshake failures, similar to #29700?

Finally, CIRCUIT_PURPOSE_C_INTRODUCE_ACKED circuits are getting closed with a END_CIRC_REASON_FINISHED after receiving an invalid cell, seemingly after they are done being used.

See also https://github.com/mikeperry-tor/vanguards/issues/37

The vanguards addon now outputs this bug number at INFO log level when this happens.

Child Tickets

Change History (5)

comment:1 Changed 4 months ago by mikeperry

Description: modified (diff)

comment:2 Changed 4 months ago by starlight

Cc: starlight@… added

comment:3 Changed 3 months ago by nickm

Keywords: diagnostic mystery added
Milestone: Tor: 0.4.1.x-final
Priority: MediumHigh

comment:4 Changed 2 months ago by nickm

Keywords: security added

comment:5 Changed 7 weeks ago by mikeperry

Milestone: Tor: 0.4.1.x-finalTor: unspecified

FWIW, these protocol errors do not impact vanguard's ability to detect that cells were dropped. Also, since Tor is already closing the circuit itself with a reason=torprotocol error, these don't represent a very large side channel issue.

I think taking this out of 0.4.1 and maybe even lowering priority is OK. I will just do the 0.4.1 bit now.

Last edited 7 weeks ago by mikeperry (previous) (diff)
Note: See TracTickets for help on using tickets.