View Issue Details

IDProjectCategoryView StatusLast Update
0004801GNUnettransport servicepublic2018-06-07 00:24
ReporteramatusAssigned ToChristian Grothoff 
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product VersionSVN HEAD 
Target Version0.11.0pre66Fixed in Version0.11.0pre66 
Summary0004801: transport crashes if it accidentally connects to itself
DescriptionIf transport receives a SYN message from its own peer ID it crashes on:
ERROR Assertion failed at gnunet-service-transport_neighbours.c:2144

  GNUNET_assert (0 !=
                 memcmp (&GST_my_identity,
                         peer,
                         sizeof (struct GNUNET_PeerIdentity)));
Steps To Reproduce1) Accidentally run gnunet-service-transport as root instead of gnunet so it generates a new ID and HELLO
2) Until that new HELLO expires your peer is poisoned and will try to connect to itself thinking it is connecting to the new peer
3) It will send a SYN to itself, then receive its own SYN
4) The peer ID in the SYN matches its own and the assertion fails
TagsNo tags attached.

Activities

Christian Grothoff

2017-02-26 02:04

manager   ~0011854

Seems fixed, added additional logic to really guard against it in 723fb1483..e332f0f54

Issue History

Date Modified Username Field Change
2016-11-18 06:37 amatus New Issue
2016-11-18 06:37 amatus Status new => assigned
2016-11-18 06:37 amatus Assigned To => Matthias Wachs
2017-02-26 02:04 Christian Grothoff Assigned To Matthias Wachs => Christian Grothoff
2017-02-26 02:04 Christian Grothoff Status assigned => resolved
2017-02-26 02:04 Christian Grothoff Resolution open => fixed
2017-02-26 02:04 Christian Grothoff Fixed in Version => 0.11.0pre66
2017-02-26 02:04 Christian Grothoff Note Added: 0011854
2017-02-26 02:04 Christian Grothoff Target Version => 0.11.0pre66
2018-06-07 00:24 Christian Grothoff Status resolved => closed