Skip to content

Vulnerability Report: Unsanitized signedPeerRecord in Identify (Python)Β #958

@scacaca

Description

@scacaca

Summary

The Python Identify implementation accepts signedPeerRecord without validation.
An attacker can forward a valid signed PeerRecord from another peer, causing address poisoning / identity spoofing.

This is equivalent to the Go libp2p Identify vulnerability
, which has already been patched.

Expected behavior

identify: reject signed peer records on peer ID mismatch
and make ConsumeEnvelope harder to misuse

Actual behavior

accept signed peer records on peer ID mismatch

Relevant log output

Possible Solution

Add strict validation for signedPeerRecord in parse_identify_response to prevent identity spoofing and peerstore poisoning.
There is a similar fix logic

Environment

Would you like to work on fixing this bug ?

Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions