Skip to content

Denial of Service via Recursive Stack Overflow [SEC-811] #28

@andre-kunz

Description

@andre-kunz

During resolution of DID logs, the didresolver verifies the data integrity proof of each log entry by checking if the signing key is authorized for the update. If an entry in the log omits the parameter containing the update keys, the associated verification function searches backward through the log history to locate the previously authorized key. This backward traversal is implemented as a recursive function call.

Each recursive call consumes additional stack memory. When processing a maliciously crafted log with a high number of sequential entries lacking the update keys parameter, the call stack exceeds its allocated limit. This memory exhaustion results in a stack overflow and leads to an immediate crash of the host process.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for KnownIssue.

    Projects

    Status
    in backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions