[tor-bugs] #20006 [Core Tor/Tor]: HSFETCH fails for hidden services which use client authentication

Tor Bug Tracker & Wiki blackhole at torproject.org
Sat Aug 27 19:12:26 UTC 2016


#20006: HSFETCH fails for hidden services which use client authentication
--------------------------+------------------------------------
 Reporter:  segfault      |          Owner:
     Type:  defect        |         Status:  new
 Priority:  Medium        |      Milestone:
Component:  Core Tor/Tor  |        Version:  Tor: 0.2.9.2-alpha
 Severity:  Normal        |     Resolution:
 Keywords:                |  Actual Points:
Parent ID:                |         Points:
 Reviewer:                |        Sponsor:
--------------------------+------------------------------------
Description changed by segfault:

Old description:

> When using HSFETCH with a hidden service which uses client
> authentication, it does not return the descriptor.
>
> Example:
>
> {{{
> echo "AUTHENTICATE
> HSFETCH prkszpeygn2a3kxo | nc -U /var/run/tor/control
> }}}
>
> Output:
>
> {{{
> 650 OK
> 650 HS_DESC REQUESTED prkszpeygn2a3kxo NO_AUTH
> $4D596DB0B8214621D60183B6CBF73DF67B0A97CD~CrashM
> jvdlgb7c3xkihcww5fypqnbkuv5dfima
> 650 HS_DESC FAILED prkszpeygn2a3kxo NO_AUTH
> $4D596DB0B8214621D60183B6CBF73DF67B0A97CD~CrashM
> rhdhss3jibwpmennesop3sops3mr42du REASON=BAD_DESC
> 650+HS_DESC_CONTENT prkszpeygn2a3kxo jvdlgb7c3xkihcww5fypqnbkuv5dfima
> $4D596DB0B8214621D60183B6CBF73DF67B0A97CD~CrashM
> }}}
>
> log:
>
> {{{Aug 27 13:29:45.000 [warn] Failed to parse introduction points. Either
> the service has published a corrupt descriptor or you have provided
> invalid authorization data.
> Aug 27 13:29:45.000 [warn] Fetching v2 rendezvous descriptor failed.
> Retrying at another directory.}}}
>
> I took a quick look at the code and it seems like HSFETCH simply assumes
> no authentication is used:
>
> {{{
>   rend_query = rend_data_client_create(hsaddress, desc_id, NULL,
>                                        REND_NO_AUTH);
> }}}
>
> https://gitweb.torproject.org/tor.git/tree/src/or/control.c#n4095

New description:

 When using HSFETCH with a hidden service which uses client authentication,
 it does not return the descriptor.

 Example:

 {{{
 echo "AUTHENTICATE
 HSFETCH prkszpeygn2a3kxo | nc -U /var/run/tor/control
 }}}

 Output:

 {{{
 650 OK
 650 HS_DESC REQUESTED prkszpeygn2a3kxo NO_AUTH
 $4D596DB0B8214621D60183B6CBF73DF67B0A97CD~CrashM
 jvdlgb7c3xkihcww5fypqnbkuv5dfima
 650 HS_DESC FAILED prkszpeygn2a3kxo NO_AUTH
 $4D596DB0B8214621D60183B6CBF73DF67B0A97CD~CrashM
 rhdhss3jibwpmennesop3sops3mr42du REASON=BAD_DESC
 650+HS_DESC_CONTENT prkszpeygn2a3kxo jvdlgb7c3xkihcww5fypqnbkuv5dfima
 $4D596DB0B8214621D60183B6CBF73DF67B0A97CD~CrashM
 }}}

 log:

 {{{
 Aug 27 13:29:45.000 [warn] Failed to parse introduction points. Either the
 service has published a corrupt descriptor or you have provided invalid
 authorization data.
 Aug 27 13:29:45.000 [warn] Fetching v2 rendezvous descriptor failed.
 Retrying at another directory.
 }}}

 I took a quick look at the code and it seems like HSFETCH simply assumes
 no authentication is used:

 {{{
   rend_query = rend_data_client_create(hsaddress, desc_id, NULL,
                                        REND_NO_AUTH);
 }}}

 https://gitweb.torproject.org/tor.git/tree/src/or/control.c#n4095

--

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20006#comment:1>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list