Skip to content

Embedded NUL in an xattr PAX keyword is accepted #74

Description

@zaniebot

Summary

TarReader accepts an embedded NUL in an extended-attribute PAX keyword. The
reproduction archive is Go's open-source pax-nul-xattrs.tar
fixture; Go archive/tar rejects it while the other maintained readers accept.

Tested at 1ac1199559a1b96f0f953ac99520ccc296503808.

Observed behavior

The record keyword contains SCHILY.xattr.null\0. Tar-codec classifies it as
vendor metadata and returns the member.

Expected behavior

Consider rejecting NUL-bearing PAX keywords before vendor or xattr policy is
applied.

Impact

An xattr name can acquire different identities across Rust strings, C APIs, and
filesystem interfaces.

Metadata

Metadata

Assignees

No one assigned

    Labels

    diff:permissiveA differential where tar-codec is more permissive than other parsers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions