Skip to content

[Upstream nexum-runtime] HTTP allowlist has no DNS-rebinding/IP-pinning defense #648

Description

@lgahdl

Tracking issue — the underlying property lives upstream in nullislabs/nexum-runtime, which shepherd-engine depends on as a pinned git dependency.

Upstream issue: nullislabs/nexum-runtime#63

Found during an internal red-team review (malicious network attacker persona): the [capabilities.http].allow outbound allowlist matches on hostname only, before DNS resolution — there's no resolved-IP check to catch a domain rebound to an internal/metadata address after being allowlisted. Any shepherd module with an http capability grant is affected.

This issue tracks: deciding whether shepherd's threat model needs this hardened upstream, and re-verifying once nexum-runtime addresses it (if it does).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working.component/httphttp fetch backend under the capability allowlist

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions