Skip to content

fix: bound EPUB custom-font preparation - #280

Merged
van-geaux merged 1 commit into
mainfrom
fix/security-ghsa-rmjp-8gm4-6j6w
Oct 10, 2026
Merged

van-geaux merged 1 commit into
mainfrom
fix/security-ghsa-rmjp-8gm4-6j6w

Conversation

@van-geaux

Copy link
Copy Markdown
Owner

Summary

  • Bound EPUB archive entry count, per-entry size, and aggregate processing.
  • Bound XML/HTML handling and reject unsafe or duplicate archive paths.
  • Stream unchanged entries where possible.
  • Write prepared output atomically so incomplete output is not reused.

Security context

Remediates private advisory GHSA-rmjp-8gm4-6j6w.

Verification

  • 875 JVM tests pass.
  • Android-test compilation and lintDebug pass.
  • Custom-font EPUB preparation and reader validation pass on the available test/device path.

The complete integration class still contains three unrelated existing audiobook/progress failures. This PR does not change audiobook/progress behavior.

Keep the advisory private until the fixed 2.0.0 release is available.

- enforce entry count and expanded-size limits
- stream unchanged entries and bound rewritten markup
- reject unsafe paths, duplicates and malformed ZIP64 metadata
- stage conversion output and remove incomplete files on failure
@van-geaux
van-geaux merged commit 736d367 into main Oct 10, 2026
1 check passed
@van-geaux
van-geaux deleted the fix/security-ghsa-rmjp-8gm4-6j6w branch October 10, 2026 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants