Repository navigation
🛡️ Sentinel: [CRITICAL] Fix CSV formula injection via NUL bytes - #1175
seonghobae wants to merge 1 commit into
Conversation
|
👋 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 New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughCSV 수식 주입 방어 정규식에 NUL 바이트가 추가되었습니다. NUL 바이트가 포함된 위험 입력의 이스케이프 테스트와 대응 지침도 추가되었습니다. ChangesCSV 수식 주입 방어
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to CSV exports now prefix NUL-padded formula-like values with a protective quote, preventing this formula-injection bypass. The changed behavior is covered by targeted tests and presents no remaining merge-blocking risk. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Succession receipt: #1177 ( |
Understood. Acknowledging that this work is now obsolete and superseded by PR #1177, which provides a more comprehensive fix. Stopping work on this task. |
🚨 Severity: CRITICAL
💡 Vulnerability: The existing CSV formula injection mitigation was vulnerable to bypasses using NUL bytes (
\x00). Spreadsheets like Excel will often ignore these bytes and still evaluate the subsequent payload (e.g.\x00=cmd).🎯 Impact: An attacker could exploit this to achieve arbitrary formula injection/remote code execution when a victim opens a crafted, exported CSV file.
🔧 Fix: Expanded the mitigation regex in
apps/desktop/src/lib/export.tsto include\x00. Used// eslint-disable-next-line no-control-regexto permit the deliberate control character usage.✅ Verification: Verified by updating tests in
apps/desktop/src/lib/export.test.tsto assert that NUL bytes are properly sanitized and runningnpm run testand./scripts/harness/quickcheck.sh.PR created automatically by Jules for task 2418472041287486662 started by @seonghobae
Summary by CodeRabbit
버그 수정
테스트