Homebrew ऑडिट रिपोर्ट
(blog.trailofbits.com)Homebrew ऑडिट
- Homebrew ऑडिट का अवलोकन
- Homebrew/brew और उससे जुड़े तीन रिपॉज़िटरी सहित Homebrew के सुरक्षा-संबंधी पहलुओं का ऑडिट किया गया
- मिली समस्याएँ गंभीर नहीं हैं, लेकिन हमलावर अनपेक्षित समय पर executable code लोड करके Homebrew की अखंडता को प्रभावित कर सकते हैं
- यह Open Tech Fund के प्रायोजन से किया गया
Homebrew
-
Homebrew परिचय
- macOS और Linux के लिए package manager
- software developers के बीच व्यापक रूप से उपयोग किया जाता है और लाखों package installs को संभालता है
- Golang, Node.js, OpenSSL जैसे महत्वपूर्ण packages शामिल होने के कारण Homebrew की सुरक्षा पूरे software ecosystem की सुरक्षा के लिए महत्वपूर्ण है
-
Homebrew का इतिहास
- 2009 में शुरू होने के बाद इसने कई architecture बदलाव देखे
- binary builds (bottles) को डिफ़ॉल्ट installation mechanism के रूप में अपनाया गया, जिसने local source builds की जगह ली
- CI/CD के माध्यम से builds की integrity बनाए रखी जाती है
ऑडिट का दायरा
- ऑडिट प्रश्न
- क्या local actor
brew installके बिना official DSL चला सकता है - क्या local actor केवल
brew tapसे official DSL का evaluation कर सकता है - क्या namespace confusion या conflicts पैदा किए जा सकते हैं
- क्या locally installed formulae Homebrew के build isolation mechanism को bypass कर सकते हैं
- क्या low-privilege CI/CD actor higher privilege में pivot कर सकता है
- क्या low-privilege CI/CD actor bottle builds को contaminate कर सकता है
- क्या low-privilege CI/CD actor CI/CD में persistence बनाए रख सकता है
- क्या local actor
प्रमुख निष्कर्ष
brew
- प्रमुख निष्कर्ष
- formulae string interpolation के ज़रिए sandbox escape कर सकते हैं
- collision-prone hash function (MD5) का उपयोग runtime confusion पैदा कर सकता है
- formulae build में undeclared network resources शामिल कर सकते हैं
- socket pivoting के माध्यम से sandbox escape संभव है
sudotoken के ज़रिए privilege escalation किया जा सकता है- non-local URL से formulae install किए जा सकते हैं
Homebrew का CI/CD
- प्रमुख निष्कर्ष
pull_request_targettrigger का उपयोग करके third-party PR Homebrew के upstream repository में code चला सकते हैंworkflow_dispatchinput के माध्यम से shell injection संभव है- archive extraction के दौरान sandboxing/isolation की कमी higher privilege में pivot की अनुमति देती है
- non-local URL से formulae install कराकर arbitrary code execution कराया जा सकता है
प्रमुख संकेत
-
package management ecosystem ऑडिट की चुनौतियाँ
- package management tools डिज़ाइन के अनुसार arbitrary third-party code install और run करते हैं
- Homebrew जैसे packaging ecosystem में package formats (formulae) स्वयं executable code होते हैं
-
ऑडिट सहयोग
- Homebrew maintainers और Homebrew PLC के साथ करीबी सहयोग किया गया
- Homebrew security manager Patrick Linnane के प्रति आभार व्यक्त किया गया
GN⁺ का सार
- Homebrew macOS और Linux पर व्यापक रूप से उपयोग होने वाला package manager है
- ऑडिट में गंभीर नहीं लेकिन महत्वपूर्ण security issues पाए गए
- Homebrew की सुरक्षा पूरे software ecosystem की सुरक्षा के लिए महत्वपूर्ण है
- package management tools की प्रकृति के कारण arbitrary third-party code चल सकता है, इसलिए security audits महत्वपूर्ण हैं
- समान कार्यक्षमता वाले package management tools में apt, yum आदि शामिल हैं
अभी कोई टिप्पणी नहीं है.