Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure that data hash consists only of C2PA JUMBF data #68

Open
cyraxx opened this issue Aug 14, 2024 · 0 comments
Open

Ensure that data hash consists only of C2PA JUMBF data #68

cyraxx opened this issue Aug 14, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@cyraxx
Copy link
Contributor

cyraxx commented Aug 14, 2024

According to the specification:

The combination of exclusion ranges and padding values, especially padding needed to support multi-pass processing workflows, can enable an attacker to replace parts of that padding with arbitrary data that could impact the consumption of the asset without invalidating the hash. For this reason a validator shall ensure that the data contained within the exclusion range consists only of a C2PA Manifest Store and appropriate padding (e.g., zero’d data) in clearly marked pad fields or free/skip boxes. If a validator encounters any data that is not part of the C2PA Manifest Store or padding, then the manifest shall be rejected with a failure code of assertion.dataHash.mismatch.

This means we need to:

  • Verify that exclusion ranges in data hash assertions match exactly the JUMBF store in the manifest and not more
  • Verify that any padding data is filled with zeros
  • Verify that any free/skip boxes in BMFF files are filled with zeros
cyraxx added a commit that referenced this issue Aug 14, 2024
For compliant validators, this would cause a hash mismatch (#68)
@cyraxx cyraxx added the bug Something isn't working label Aug 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant