
T3 Code 61c3794c सप्लाई-चेन अवशेष। Updater उसी origin से SHA256SUMS सत्यापित करता है जहाँ से archive आता है। कोई हस्ताक्षर नहीं। Loopback लैब।
अपडेटर एक SHA-256 फ़ाइल की जाँच करता है जो डाउनलोड के साथ ही रहती है। डाउनलोड होस्ट चुरा लीजिए और आप चेकसम भी चुरा लेंगे। उस पथ पर कोई हस्ताक्षर नहीं है। आकस्मिक भ्रष्टाचार अभी भी विफल होता है। एक ही ओरिजिन से बदला गया जोड़ा इंस्टॉल हो जाता है।
वर्ग: सप्लाई चेन
पहुँच: सप्लाई चेन (जो भी releaseBaseUrl को नियंत्रित करता है)
T3 Code 61c3794c - Ping
| ID | अभी तक कोई CVE नहीं |
| वर्ग | सप्लाई चेन |
| पहुँच | सप्लाई चेन (समझौता किया गया रिलीज़ होस्ट, CDN, या उस ओरिजिन पर DNS/TLS) |
| CWE | CWE-345 / CWE-494 |
| CVSS | मध्यम: 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
| उत्पाद | T3 Code |
| प्रभावित | 61c3794c32b0eeebfac09add43e403618c65d2d7 |
| प्रमाणीकरण | प्रकाशक के अधिकार में आने के बाद शिकार पर कोई नहीं; शिकार एक इंस्टॉल या अपडेट चलाता है |
| लाइसेंस | GNU Affero GPL v3.0 |
| लैब | लूपबैक प्रकाशक 127.0.0.1:18192; tar को मॉक किया गया ताकि आर्काइव बाइट्स कभी निष्पादित न हों |
उस ओरिजिन पर नियंत्रण चाहिए जो SHA256SUMS और आर्काइव दोनों को परोसे (releaseBaseUrl / उस बिल्ड के लिए GitHub Releases)। शिकार पर T3 खाते की आवश्यकता नहीं।
| विशेषाधिकार | विधि / सिंक | रेकॉन / अखंडता / उपलब्धता | लैब-प्रमाणित या अनुमानित |
|---|---|---|---|
| एक ही ओरिजिन से मेल खाता आर्काइव + चेकसम प्रकाशित करना | ensurePinnedRuntimeInstalled ${baseUrl}/SHA256SUMS फिर ${baseUrl}/${fileName} लाता है, SHA-256 तुलना | अखंडता (स्वीकृत इंस्टॉल) | लैब-प्रमाणित। checksum-pass=1, दोनों फ़ाइलों में साक्षी t3f02s9m4 |
| उसी हेल्पर के माध्यम से सेल्फ-अपडेट / बूट-सर्विस चलाना | selfUpdate.ts, bootService.ts releaseBaseUrl पास करते हैं | अखंडता | स्रोत। लैब ने हेल्पर को सीधे कॉल किया |
| एक्सट्रैक्ट के बाद इंस्टॉल किए गए बाइनरी को निष्पादित करना | tar -xf फिर t3 चलाना | अखंडता / उपलब्धता | अनुमानित। लैब ने tar को मॉक किया और बाइट्स निष्पादित नहीं किए |
| नकारात्मक नियंत्रण: बेमेल चेकसम | वही हेल्पर, SHA256SUMS में शून्य | लागू नहीं | लैब-प्रमाणित। चरण verifying the t3 release archive checksum |
इस अवशेष पर बंद रहता है
| अक्ष | विधि / सिंक | यह क्यों बंद है |
|---|---|---|
| अखंडता | ट्रांज़िट में आकस्मिक बिट-फ्लिप | SHA-256 बेमेल एक्सट्रैक्ट से इनकार करता है |
| अखंडता | अहस्ताक्षरित अतिरिक्त ओरिजिन | लैब ने एक बेस URL इस्तेमाल किया; दूसरे ओरिजिन से कभी परामर्श नहीं होता क्योंकि कोई मौजूद ही नहीं है |
| अखंडता | इस लैब द्वारा हमलावर बाइट्स निष्पादित करना | tar मॉक किया गया; extracted-binary-executed=0 |
डाउनलोड+डाइजेस्ट ब्लॉक और सेल्फ-अपडेट / बूट-सर्विस कॉलर्स पर signature-check=0 (कोई minisign, cosign, GPG, या sigstore नहीं)।
pinnedRuntime.ts दोनों URL cliReleaseDownloadBaseUrl से बनाता है। इन-ट्री टेस्ट पहले से ही समान-ओरिजिन चेकसम पास और बेमेल विफलता को लॉक करते हैं। वे हस्ताक्षर की आवश्यकता नहीं रखते।
गलत मोड़: चेकसम को प्रकाशक प्रमाणक मानना।
python3 t3code-release-checksum-same-origin-Abraxas-Labs.py
या:
cd lab
./run.sh
127.0.0.1:18192 पर लूपबैक HTTP पब्लिशर। प्रोडक्शन ensurePinnedRuntimeInstalled उस ओरिजिन के विरुद्ध Effect fetch का उपयोग करता है। मिलते-जुलते जोड़े इंस्टॉल होते हैं (मॉक किया गया एक्सट्रैक्ट)। बेमेल जोड़ा सत्यापन पर रुक जाता है।
IOC loopback-bound=127.0.0.1:18192
IOC same-origin=1
IOC checksum-pass=1
IOC checksum-fail=1
IOC signature-check=0
IOC tar-mocked=1
IOC extracted-binary-executed=0
SUCCESS T3-F02-CHECKSUM t3f02s9m4
चेकसम मैनिफ़ेस्ट पर हस्ताक्षर करें (minisign, cosign, या GPG) और सार्वजनिक कुंजी को बाइनरी में एम्बेड करें। SHA256SUMS को पार्स करने से पहले हस्ताक्षर सत्यापित करें। रिलीज़ मूल को एक अपरिवर्तनीय हस्ताक्षरित संदर्भ पर पिन करें।
61c3794c32b0eeebfac09add43e403618c65d2d7pinnedRuntime.ts डाउनलोड+डाइजेस्टGNU Affero GPL v3.0. देखें LICENSE। केवल लूपबैक लैब। कोई वारंटी नहीं।
Abraxas Labs [email protected]
कृपया CVE का श्रेय Abraxas Labs को दें।