
CVE-2026-24072 का तकनीकी विश्लेषण, जो Apache HTTP Server mod_rewrite में एक स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) है, जिसमें मूल कारण (root cause), पैच, और सत्यापन के लिए Dockerized परीक्षण प्रयोगशाला शामिल है।
CVE-2026-24072 Apache HTTP Server 2.4.66 और पुराने संस्करणों में एक मध्यम-गंभीरता वाली स्थानीय विशेषाधिकार वृद्धि भेद्यता है। यह स्थानीय
.htaccessलेखकों कोmod_rewrite,mod_setenvif, औरmod_proxy_fcgiके अंदरap_exprएक्सप्रेशन मूल्यांकन का लाभ उठाकरhttpdउपयोगकर्ता के विशेषाधिकारों के साथ फाइलसिस्टम पर मनमानी फाइलें पढ़ने की अनुमति देता है।
| फ़ील्ड | मान |
|---|
| CVE ID | CVE-2026-24072 |
| गंभीरता | मध्यम (स्थानीय विशेषाधिकार वृद्धि / सूचना प्रकटीकरण) |
| प्रभावित | Apache HTTP Server <= 2.4.66 |
| ठीक किया गया | Apache HTTP Server 2.4.67 |
| हमला वेक्टर | स्थानीय (.htaccess लेखन पहुंच की आवश्यकता है) |
CVE-2026-24072-analysis.mdmod_rewrite.diff, mod_setenvif.diff, mod_proxy_fcgi.diffexamples/Apache का एक्सप्रेशन मूल्यांकन इंजन (ap_expr) फाइलसिस्टम अंतर्दृष्टि फ़ंक्शन प्रदान करता है:
file(path) — फ़ाइल सामग्री पढ़ता हैfilesize(path) — फ़ाइल आकार लौटाता है-d path, -e path, -f path, -s path, -L path, -h path, -x path — फाइलसिस्टम परीक्षण2.4.66 और पुराने संस्करणों में, mod_rewrite (via RewriteCond expr=...), mod_setenvif (via SetEnvIfExpr), और mod_proxy_fcgi (via ProxyFCGIBackendType कंडीशन एक्सप्रेशन) जैसे मॉड्यूल .htaccess संदर्भ में काम करते समय AP_EXPR_FLAG_RESTRICTED फ्लैग बिना पास किए ap_expr एक्सप्रेशन को पार्स और मूल्यांकन करते थे। इसका मतलब था कि कोई भी स्थानीय उपयोगकर्ता जो .htaccess फ़ाइल लिख सकता था, इन एक्सप्रेशन फ़ंक्शनों का उपयोग करके httpd प्रक्रिया के पूर्ण विशेषाधिकारों के साथ फाइलसिस्टम की जांच या पढ़ाई कर सकता था।
समाधान अवधारणात्मक रूप से सरल है: .htaccess संदर्भ में ap_expr एक्सप्रेशन पार्स करते समय, AP_EXPR_FLAG_RESTRICTED फ्लैग पास करें।
तीनों पैच किए गए मॉड्यूल .htaccess पार्सिंग संदर्भ का पता लगाने के लिए समान मुहावरे का उपयोग करते हैं:
int in_htaccess = cmd->pool == cmd->temp_pool;
जब Apache .htaccess फ़ाइलों को पार्स करता है, तो प्रति-निर्देशिका कॉन्फ़िगरेशन पूल (cmd->pool) अस्थायी पूल (cmd->temp_pool) के समान होता है। यह .htaccess (प्रति-निर्देशिका) संदर्भ बनाम मुख्य सर्वर/वर्चुअल होस्ट संदर्भ का पता लगाने के लिए एक प्रसिद्ध आंतरिक Apache परंपरा है।
| फ़ाइल | विवरण |
|---|---|
CVE-2026-24072-analysis.md | पूर्ण तकनीकी विश्लेषण और प्रभाव मूल्यांकन |
mod_rewrite.diff | modules/mappers/mod_rewrite.c के लिए पैच |
mod_setenvif.diff | modules/metadata/mod_setenvif.c के लिए पैच |
mod_proxy_fcgi.diff | modules/proxy/mod_proxy_fcgi.c के लिए पैच |
httpd-2.4.66/ | भेद्य Apache संस्करण का स्रोत ट्री |
httpd-2.4.67/ | ठीक किए गए Apache संस्करण का स्रोत ट्री |
examples/ | प्रूफ-ऑफ-कॉन्सेप्ट .htaccess फ़ाइलें |
इस रिपॉजिटरी में एक Dockerized परीक्षण प्रयोगशाला शामिल है जो आपको भेद्य और पैच किए गए mod_rewrite मॉड्यूल के बीच स्विच करने की अनुमति देती है ताकि समाधान काम करता है या नहीं इसकी पुष्टि हो सके:
# लैब बनाएं और शुरू करें
make build
make up
# पूर्ण स्वचालित परीक्षण मैट्रिक्स चलाएं (दोनों वेरिएंट)
make test
लैब एक सेंटिनल फ़ाइल (/opt/sentinel/secret.txt) का उपयोग करती है जो केवल daemon उपयोगकर्ता (वह उपयोगकर्ता जिसके रूप में httpd चलता है) द्वारा पठनीय है। भेद्य बिल्ड पर, .htaccess एक्सप्रेशन सेंटिनल की सामग्री को पढ़ और मिलान कर सकते हैं। ठीक किए गए बिल्ड पर, पार्सिंग not available in restricted context के साथ विफल हो जाती है।
पूर्ण गाइड के लिए docs/TESTING.md देखें।
| फ़ाइल | विवरण |
|---|---|
CVE-2026-24072-analysis.md | पूर्ण तकनीकी विश्लेषण और प्रभाव मूल्यांकन |
mod_rewrite.diff | modules/mappers/mod_rewrite.c के लिए पैच |
mod_setenvif.diff | modules/metadata/mod_setenvif.c के लिए पैच |
mod_proxy_fcgi.diff | modules/proxy/mod_proxy_fcgi.c के लिए पैच |
httpd-2.4.66/ | भेद्य Apache संस्करण का स्रोत ट्री |
httpd-2.4.67/ | ठीक किए गए Apache संस्करण का स्रोत ट्री |
examples/ | प्रूफ-ऑफ-कॉन्सेप्ट .htaccess फ़ाइलें |
docker/ | परीक्षण प्रयोगशाला के लिए Docker बिल्ड फ़ाइलें |
scripts/ | स्वैप और परीक्षण स्क्रिप्ट |
tests/ | परीक्षण फिक्स्चर और मैट्रिक्स |
docs/TESTING.md | पूर्ण परीक्षण गाइड |
docs/session/ | डिज़ाइन प्रक्रिया से सत्र निर्यात |
यह रिपॉजिटरी केवल शैक्षिक और रक्षात्मक उद्देश्यों के लिए है। प्रूफ-ऑफ-कॉन्सेप्ट उदाहरण सुरक्षा पेशेवरों को इस भेद्यता को समझने और उससे बचाव करने में मदद करने के लिए हैं। इन तकनीकों का उपयोग उन सिस्टमों पर न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है।