Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-60876 — BusyBox wget में CVE-2025-60876 HTTP हेडर इंजेक्शन के लिए व्यवहार-संरक्षण फिक्स, प्रूफ-ऑफ-कॉन्सेप्ट, प्रतिशत-एन्कोडिंग पैच, और अपस्ट्रीम सबमिशन आर्टिफैक्ट्स के साथ। | Kitploit
उपकरण/GitHubGitHub/sirredbeard/cve-2025-60876
स्थैतिक विश्लेषणभेद्यता विश्लेषणशोषणवेब सुरक्षाफज़िंगपेनिट्रेशन टेस्टिंगArchived
GitHubsirredbeard/cve-2025-60876

CVE-2025-60876

BusyBox wget में CVE-2025-60876 HTTP हेडर इंजेक्शन के लिए व्यवहार-संरक्षण फिक्स, प्रूफ-ऑफ-कॉन्सेप्ट, प्रतिशत-एन्कोडिंग पैच, और अपस्ट्रीम सबमिशन आर्टिफैक्ट्स के साथ।

रिपॉजिटरी देखें
1112 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2025-60876: busybox wget request-target इंजेक्शन फिक्स

CVE-2025-60876 के लिए एक व्यवहार-संरक्षित फिक्स, जो BusyBox wget में एक HTTP हेडर-इंजेक्शन भेद्यता है, साथ ही proof-of-concept जो इसे प्रदर्शित करता है और फिक्स को अपस्ट्रीम BusyBox में जमा करने के लिए आर्टिफैक्ट्स।

भेद्यता

BusyBox wget URL पथ और क्वेरी को HTTP अनुरोध लाइन में शब्दशः कॉपी करता है। एक URL जिसमें कच्चा CR (0x0D), LF (0x0A), या अन्य कंट्रोल बाइट होता है, अनुरोध लाइन को विभाजित कर सकता है और हमलावर-नियंत्रित हेडर इंजेक्ट कर सकता है। एक स्पेस (0x20) का भी यही प्रभाव होता है: यह METHOD SP request-target SP HTTP/1.1 फ्रेमिंग को तोड़ देता है।

प्रभावित: BusyBox 1.37.0 तक (हर समर्थित Alpine शाखा पर भेजा गया pkgver)। अगस्त 2025 में BusyBox मेलिंग सूची पर रिपोर्ट किया गया; CVE को CVE-2025-60876 (NVD CVSS 6.5, Medium) के रूप में निर्दिष्ट किया गया।

फिक्स

अपस्ट्रीम में पहले से दो पैच प्रस्तावित किए जा चुके हैं (Takeuchi Yuma, 2025-08; Radoslav Kolev, 2025-11)। दोनों ही आपत्तिजनक URL को अस्वीकार करते हैं और bb_error_msg_and_die को कॉल करते हैं। यह इंजेक्शन को रोकता है, लेकिन यह एक साधारण स्पेस को भी अस्वीकार करता है, इसलिए जैसा URL जो पहले काम करता था, अब त्रुटि देता है। यही रिग्रेशन कारण है कि फिक्स को डाउनस्ट्रीम में नहीं अपनाया गया है। Alpine अपना बैकपोर्ट इसी पर रोके हुए है ()।

http://example.org/foo bar
कार्य आइटम 17872

यह फिक्स पथ और होस्ट को अलग-अलग तरीके से संभालता है, जो GNU wget और curl के व्यवहार से मेल खाता है।

पथ: networking/wget.c में percent_encode_target() अनुरोध लाइन बनने से पहले request-target में कंट्रोल बाइट्स (0x00 से 0x1f), स्पेस (0x20), और DEL (0x7f) को percent-encode करता है:

  • CR और LF अब अनुरोध लाइन तक नहीं पहुँच सकते, इसलिए इंजेक्शन बंद हो जाता है।
  • http://example.org/foo bar को /foo%20bar के रूप में भेजा जाता है, जो GNU wget और curl से मेल खाता है। कोई रिग्रेशन नहीं।
  • मौजूदा % को अपरिवर्तित छोड़ दिया जाता है, इसलिए पहले से एनकोड किया गया पथ दोबारा एनकोड नहीं होता।

होस्ट: URL होस्ट में समान बाइट्स अस्वीकार कर दिए जाते हैं। एक होस्टनाम में वैध रूप से कंट्रोल वर्ण या स्पेस नहीं हो सकते, और authority घटक के लिए percent-encoding परिभाषित नहीं है। यह प्रॉक्सी मोड में मायने रखता है: होस्ट को absolute-form request-target (GET http://host/path) और Host: हेडर में रखा जाता है, लेकिन इसे स्थानीय रूप से रिज़ॉल्व नहीं किया जाता, इसलिए होस्ट में कच्चा CR या LF अन्यथा इंजेक्ट कर सकता है। GNU wget (CVE-2017-6508 के बाद से) और curl भी होस्ट में कंट्रोल वर्णों को अस्वीकार करते हैं।

यह बदलाव networking/wget.c तक सीमित है और एक हेल्पर जोड़ता है।

दायरे से बाहर: FTP कंट्रोल चैनल (ftpcmd target->path और यूज़र/पासवर्ड को कच्चा भेजता है, जो अपस्ट्रीम-स्वीकृत TODO है) एक अलग इंजेक्शन वर्ग है, CVE-2025-60876 का हिस्सा नहीं है, और यहाँ संबोधित नहीं किया गया है। इसे अलग से ट्रैक किया जाना चाहिए।

सत्यापन

BusyBox 1.37.0 के विरुद्ध उसी कॉन्फिग के साथ बनाया गया जो Alpine उपयोग करता है (CONFIG_WERROR और CONFIG_TC बंद)। एक स्थानीय लिसनर उन सटीक बाइट्स को कैप्चर करता है जिन्हें wget वायर पर भेजता है।

इनपुट URLVanilla 1.37.0पैच किया हुआ
/x + CRLF + Evil: injectedEvil: injected एक वास्तविक हेडर के रूप में पहुँचता है (भेद्य)GET /x%0D%0AEvil:%20injected HTTP/1.1, कोई इंजेक्टेड हेडर नहीं
/foo barएक शाब्दिक स्पेस भेजता हैGET /foo%20bar HTTP/1.1 (कोई रिग्रेशन नहीं)
/foo%20bar (पहले से एनकोडेड)अपरिवर्तितGET /foo%20bar HTTP/1.1 (%2520 नहीं)
/normalअपरिवर्तितGET /normal HTTP/1.1 (अपरिवर्तित)
प्रॉक्सी, host = h + CRLF + PInjected: 1PInjected: 1 एक वास्तविक हेडर के रूप में पहुँचता है (भेद्य)bad character in URL host के साथ समाप्त हो जाता है, कुछ नहीं भेजा जाता
प्रॉक्सी, host = example.testसामान्यGET http://example.test/p HTTP/1.1 (अपरिवर्तित)

पूरा कैप्चर: test/poc-output.txt। सभी चार BusyBox testsuite/wget परीक्षण पैच किए गए बिल्ड के विरुद्ध उत्तीर्ण होते हैं (test/testsuite-output.txt); वहाँ नोट किए गए अन्य फुल-सूट विफलताएँ असंबंधित हैं (mount/taskset को root चाहिए, और कुछ ज्ञात restricted-container विषमताएँ)। aarch64 defconfig पर आकार प्रभाव +185 बाइट्स है (wget_main +142, .rodata +43, कोई symbol नहीं जोड़ा या हटाया गया), जिसे scripts/bloat-o-meter से मापा गया और cover-letter.txt में दर्ज किया गया।

फ़ाइलें

फ़ाइलयह क्या है
wget-cve-2025-60876.patchफिक्स git format-patch के रूप में BusyBox networking/wget.c के विरुद्ध, भेजने के लिए तैयार
commit-message.txtकमिट संदेश (पैच हेडर भी)
cover-letter.txt[PATCH v3] मेलिंग-सूची कवर लेटर जो मौजूदा थ्रेड को पुनर्जीवित करता है
apply_fix.pyजनरेटर जो networking/wget.c में बदलाव लागू करता है (पैच बनाने के लिए उपयोग किया जाता है)
test/serve_once.pyसिंगल-कनेक्शन लिसनर जो कच्चे HTTP अनुरोध को प्रतिध्वनित करता है
test/driver.shVanilla और पैच किए गए BusyBox को बनाता है और direct + proxy before/after PoC चलाता है
test/finalize.shपूर्ण रन: before/after PoC, bloat-o-meter, testsuite/wget, और पैच को पुनः जनरेट करता है
test/poc-output.txtकैप्चर किए गए before/after अनुरोध बाइट्स (direct और proxy)
test/testsuite-output.txtपैच किए गए बिल्ड के विरुद्ध BusyBox testsuite/wget परिणाम

परीक्षण पुनरुत्पादित करना

test/finalize.sh Docker के साथ alpine:edge कंटेनर के अंदर चलता है और सब कुछ पुनरुत्पादित करता है (PoC, आकार, testsuite, पैच):

root@kitploit:~
docker run --rm -v "$PWD:/work" alpine:edge sh /work/test/finalize.sh

यह BusyBox 1.37.0 डाउनलोड करता है, इसे vanilla बनाता है (इंजेक्शन को सीधे और प्रॉक्सी के माध्यम से दिखाता है), फिक्स लागू करता है, पुनर्निर्माण करता है, ऊपर दिए गए अनुरोध मामलों को दोहराता है, bloat-o-meter और wget testsuite चलाता है, और पैच लिखता है। test/driver.sh एक हल्का PoC-केवल वैरिएंट है।

अपस्ट्रीम सबमिशन

BusyBox एक मेलिंग-सूची परियोजना है। फिक्स git send-email के माध्यम से [email protected] पर जाता है, Radoslav Kolev के नवंबर 2025 थ्रेड पर [PATCH v3] उत्तर के रूप में, पिछले रिपोर्टरों और समीक्षकों को श्रेय देते हुए। cover-letter.txt देखें। फिक्स GPLv2 है, वही लाइसेंस जो BusyBox का है।

संदर्भ

  • CVE-2025-60876: https://www.cve.org/CVERecord?id=CVE-2025-60876
  • BusyBox ML, Kolev v2 (2025-11): https://lists.busybox.net/pipermail/busybox/2025-November/091840.html
  • BusyBox ML, Takeuchi रिपोर्ट और पैच (2025-08): https://lists.busybox.net/pipermail/busybox/2025-August/091710.html
  • Alpine कार्य आइटम 17872: https://gitlab.alpinelinux.org/alpine/aports/-/work_items/17872
  • Debian बग #1120795: https://bugs.debian.org/1120795
टूल डाउनलोड करें