Diese Version enthält Korrekturen für CVE-2023-36325. CVE-2023-36325 ist ein Fehler aufgrund von Kontextverwechslungen, der im Bloom-Filter auftrat. Ein Angreifer erstellt eine I2NP-Nachricht mit einer eindeutigen messageID und sendet diese messageID an einen Client. Die Nachricht darf, nachdem sie den Bloom-Filter passiert hat, in einer zweiten Nachricht nicht erneut verwendet werden. Der Angreifer sendet dann dieselbe Nachricht direkt an den router. Der router leitet die Nachricht an den Bloom-Filter weiter, wo sie verworfen wird. Dadurch wird die Information offengelegt, dass die messageID bereits zuvor gesehen wurde, was dem Angreifer einen starken Hinweis darauf gibt, dass der router den Client hostet. Dies wurde behoben, indem die Funktionalität des Bloom-Filters in verschiedene Kontexte aufgeteilt wurde, abhängig davon, ob eine Nachricht über einen client tunnel, einen exploratory tunnel eingetroffen ist oder direkt an den router gesendet wurde. Unter normalen Umständen dauert dieser Angriff mehrere Tage, um erfolgreich durchgeführt zu werden, und kann durch verschiedene Faktoren erschwert werden, wie etwa router, die während der Angriffsphase neu starten, sowie eine Empfindlichkeit gegenüber False Positives. Nutzern von Java I2P wird empfohlen, umgehend zu aktualisieren, um den Angriff zu vermeiden.

Im Zuge der Behebung dieses Kontextverwechslungs-Bugs haben wir einige unserer Strategien für defensives Programmieren gegen diese Arten von Lecks überarbeitet. Dazu gehören Anpassungen an der netDb, an den Mechanismen zur Ratenbegrenzung und am Verhalten von floodfill routers.

Diese Version fügt not_bob als zweiten Standard-Hosts-Anbieter hinzu und fügt notbob.i2p sowie ramble.i2p der Startseite der Konsole hinzu.

Diese Version enthält außerdem eine anpassbare Blockliste. Das Blocklisting ist semipermanent; jede blockierte IP-Adresse bleibt normalerweise blockiert, bis der router neu gestartet wird. Benutzer, die während Sybil-Angriffen ein explosives Wachstum der Blockliste beobachten, können sich für kürzere Ablaufzeiten entscheiden, indem sie die Blockliste so konfigurieren, dass Einträge nach einem festgelegten Intervall verfallen. Diese Funktion ist standardmäßig deaktiviert und wird derzeit nur fortgeschrittenen Benutzern empfohlen.

Diese Version enthält außerdem eine API, über die Plugins die Desktop GUI(DTG) anpassen können. Es ist jetzt möglich, dem System Tray Menüeinträge hinzuzufügen, wodurch sich Plugins, die native Anwendungsschnittstellen nutzen, intuitiver starten lassen.

Wie üblich empfehlen wir, auf dieses Release zu aktualisieren. Der beste Weg, die Sicherheit aufrechtzuerhalten und dem Netzwerk zu helfen, besteht darin, das neueste Release auszuführen.

Einzelheiten

Changes

  • netDb: Throttle bursts of netDB lookups
  • Sybil/Blocklist: Allow users to override blocklist expiration with an interval
  • DTG: Provide an API for extending DTG with a plugin
  • Addressbook: add notbob’s main addressbook to the default subscriptions.
  • Console: Add Ramble and notbob to console homepage

Änderungen

  • Fix replay attack: CVE-2023-36325
  • Implement handling of multihomed routers in the netDb
  • Fully copy new leaseSets when a leaseSet recievedAsPublished overwrites a leaseSet recievedAsReply

Vollständige Liste der behobenen Fehler