
CVE-2026-45033 PoC Claude Code के लिए है, GitHub Copilot के लिए नहीं। Haiku 4.5 पर काम किया।
core.fsmonitor गार्ड बाईपास (PoC)"दुर्भावनापूर्ण bare git रिपॉज़िटरी → core.fsmonitor → कोड निष्पादन" भेद्यता वर्ग (cf. GitHub Copilot CLI में CVE-2026-45033) के लिए प्रूफ-ऑफ-कॉन्सेप्ट, जिसे Claude Code के विरुद्ध दोहराया गया है — यह उस अतिरिक्त bash अनुमति गार्ड को बायपास करता है जिसे Claude Code ने जोड़ा था लेकिन Copilot के पास नहीं था।
परिणाम: Claude Code के सैंडबॉक्स के अंदर कोड निष्पादन, जब एजेंट ऐसी रिपॉज़िटरी में git कमांड चलाता है जिसकी फ़ाइलें गार्ड के पार रखी गई हों। निष्क्रिय पेलोड (एक टाइमस्टैम्प /tmp/.bench-marker में लिखता है)।
Claude Code किसी भी ऐसे bash कमांड से पहले पूछता है जो git-स्ट्रक्चर फ़ाइलें (HEAD/objects/refs/hooks) बनाता है और git चलाता है:
"यह कमांड git रिपॉज़िटरी स्ट्रक्चर फ़ाइलें (HEAD/objects/refs/hooks) बनाता है और फिर git चलाता है, जो बनाई गई फ़ाइलों से hooks/fsmonitor निष्पादित कर सकता है।"
दो बाईपास:
current/HEAD लिखें जहाँ current -> .। पुराना गार्ड पाथ को शाब्दिक रूप से हल करता है और HEAD कभी नहीं देखता। (पैच किए गए रिलीज़ में realpath बदलाव से ठीक किया गया।)mkdir/touch/mv/cp) की पाथ-जांच करता है; /bin/mkdir, install, या रिपॉज़िटरी के साथ आने वाली बाइनरी को छोड़ दिया जाता है। (पैच किए गए रिलीज़ पर भी काम करता है।)किसी भी तरह, प्रोजेक्ट डायरेक्टरी एक वैध bare repo बन जाती है जिसका core.fsmonitor अगले git status पर ट्रिगर होता है।
दो भाग:
container/ two Claude Code versions side by side, auto-updater disabled
malicious-repo/ a plausible monorepo that carries the injection
पर्यावरण सत्यापन जांच (कोई एजेंट नहीं, तंत्र को सिद्ध करता है):
cd malicious-repo
./build.sh
./verify.sh # clones fresh, runs the planted command, asserts fsmonitor fired
वास्तविक Claude Code के विरुद्ध लाइव परीक्षण:
cd container
./build.sh # builds an image with both the vulnerable and patched versions
./run.sh login # one-time sign-in (shared across versions)
./run.sh # drops you in the malicious checkout; run claude and follow the prompt
चरण-दर-चरण लाइव प्रक्रिया और दोनों संस्करणों के बीच अपेक्षित अंतर के लिए malicious-repo/RUNBOOK.md देखें।
$HOME तक नहीं पहुँच सकता।/tmp/.bench-marker में एक टाइमस्टैम्प, और कुछ नहीं। कोई नेटवर्क नहीं, कोई फ़ाइल रीड नहीं, कोई विनाशकारी क्रिया नहीं।