이번 릴리스에는 CVE-2023-36325에 대한 수정이 포함되어 있습니다. CVE-2023-36325는 블룸 필터에서 발생한 컨텍스트 혼동 버그입니다. 공격자는 고유한 messageID를 포함하는 I2NP 메시지를 조작해 만들고, 그 messageID를 클라이언트로 보냅니다. 메시지는 블룸 필터를 한 번 통과하면 동일한 messageID를 두 번째 메시지에 재사용할 수 없게 됩니다. 그런 다음 공격자는 동일한 메시지를 router로 직접 보냅니다. router는 해당 메시지를 블룸 필터에 전달하고, 메시지는 폐기됩니다. 이는 해당 messageID가 이전에 관측되었다는 정보를 누출하여, 공격자에게 해당 router가 클라이언트를 호스팅하고 있다고 믿을 강한 근거를 제공합니다. 이 문제는 메시지가 클라이언트 tunnel을 통해 내려왔는지, 탐색용 tunnel을 통해 내려왔는지, 혹은 router로 직접 보내졌는지에 따라 블룸 필터의 기능을 서로 다른 컨텍스트로 분리하여 수정되었습니다. 일반적인 상황에서 이 공격을 성공시키려면 수 일이 걸리며, 공격 단계 동안 router가 재시작되는 경우나 오탐지(거짓 양성)에 대한 민감도와 같은 여러 요인으로 인해 방해받을 수 있습니다. Java I2P 사용자는 이 공격을 피하기 위해 즉시 업데이트할 것을 권장합니다.
이 컨텍스트 혼동 버그를 수정하는 과정에서, 이러한 유형의 정보 누출에 대비하여 방어적으로 코드를 작성하기 위한 몇 가지 전략을 수정했습니다. 여기에는 netDb, 전송률 제한 메커니즘, 그리고 floodfill routers의 동작에 대한 조정이 포함됩니다.
이번 릴리스에서는 not_bob을 두 번째 기본 hosts 제공자로 추가하고, 콘솔 홈페이지에 notbob.i2p 및 ramble.i2p을 추가했습니다.
이번 릴리스에는 조정 가능한 차단 목록도 포함되어 있습니다. 차단은 반영구적이며, 각 차단된 IP 주소는 일반적으로 router가 재시작될 때까지 차단 상태로 유지됩니다. 시빌 공격 동안 차단 목록이 폭발적으로 증가하는 것을 관찰한 사용자는 차단 목록이 일정 간격으로 항목을 만료하도록 설정하여 더 짧은 타임아웃을 선택할 수 있습니다. 이 기능은 기본적으로 꺼져 있으며, 현 시점에서는 고급 사용자에게만 권장됩니다.
이번 릴리스에는 Desktop GUI(DTG)를 수정할 수 있도록 하는 플러그인용 API도 포함되어 있습니다. 이제 시스템 트레이에 메뉴 항목을 추가할 수 있어, 네이티브 애플리케이션 인터페이스를 사용하는 플러그인을 보다 직관적으로 실행할 수 있습니다.
평소와 마찬가지로, 이번 릴리스로 업데이트하시기를 권장합니다. 보안을 유지하고 네트워크에 기여하는 가장 좋은 방법은 최신 릴리스를 실행하는 것입니다.
세부 정보
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
변경 사항
- 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