Skip to content

🛡️ Sentinel: Fix decompression bomb risk and input/output path collision#4

Merged
kassoulet merged 1 commit intomainfrom
sentinel/fix-security-issues-14830086709159860439
Jan 29, 2026
Merged

🛡️ Sentinel: Fix decompression bomb risk and input/output path collision#4
kassoulet merged 1 commit intomainfrom
sentinel/fix-security-issues-14830086709159860439

Conversation

@kassoulet
Copy link
Copy Markdown
Owner

This PR addresses two security and stability issues:

  1. Decompression Bomb Protection: A malicious bzip2 block could theoretically expand to a huge size. We now limit each block to 2MB of uncompressed data.
  2. File Overwrite Protection: Since the application uses memory-mapping for the input file, truncating that same file for output (if they were the same) would cause a SIGBUS crash. We now verify they are distinct using canonicalized paths.

PR created automatically by Jules for task 14830086709159860439 started by @kassoulet

- Enforced a 2MB decompression limit per bzip2 block to prevent resource exhaustion attacks.
- Added a check to ensure input and output file paths are distinct using `std::fs::canonicalize`.
- This prevents a SIGBUS error caused by truncating a memory-mapped input file.
- Added `DecompressionLimitExceeded` error variant to `Bz2Error`.
- Updated both the library and CLI tool to use these security enhancements.

Co-authored-by: kassoulet <1905+kassoulet@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@kassoulet kassoulet merged commit f649c61 into main Jan 29, 2026
6 checks passed
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.

1 participant