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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-32945 — PJSIP DNS कम्प्रेशन पॉइंटर हीप OOB रीड (रिमोट DoS) | Kitploit
उपकरण/GitHubGitHub/johanneslks/cve-2026-32945
गतिशील विश्लेषण (सैंडबॉक्सिंग)भेद्यता विश्लेषणशोषणफज़िंगबाइनरी विश्लेषण
GitHubjohanneslks/cve-2026-32945

CVE-2026-32945

PJSIP DNS कम्प्रेशन पॉइंटर हीप OOB रीड (रिमोट DoS)

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

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

सभी देखें →

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

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

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

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

CVE-2026-32945

PJSIP DNS कम्प्रेशन पॉइंटर हीप OOB रीड (रिमोट DoS)

विवरण

pjlib-util/src/pjlib-util/dns.c में get_name_len() और get_name() फ़ंक्शन pj_memcpy(&offset, p, 2) के माध्यम से 2-बाइट DNS कम्प्रेशन पॉइंटर पढ़ते हैं, बिना यह जाँचे कि दोनों बाइट्स पैकेट बफर के भीतर हैं। जब 0xC0 बाइट (कम्प्रेशन पॉइंटर मार्कर) DNS रिस्पॉन्स का अंतिम बाइट होता है, तो memcpy हीप आवंटन सीमा से एक बाइट आगे पढ़ता है।

एक एकल 20-बाइट क्राफ्टेड DNS रिस्पॉन्स OOB रीड को ट्रिगर करता है और किसी भी PJSIP एप्लिकेशन (Asterisk और FreeSWITCH सहित) को क्रैश कर देता है जो नेटवर्क-नियंत्रित DNS सर्वर के माध्यम से डोमेन को रिज़ॉल्व करता है।

ASan पुष्टि करता है: heap-buffer-overflow READ of size 2, 0 bytes after 20-byte region get_name_len() में।

यह 2022 के बाद से pjproject के dns.c में तीसरा DNS पार्सर CVE है (CVE-2022-24793 और CVE-2023-27585 के बाद)। CVE-2022-24793 फिक्स ने पार्सर में लंबाई जाँच जोड़ी थी लेकिन कम्प्रेशन पॉइंटर पथ को छोड़ दिया।

प्रभावित: pjproject <= 2.16। pjproject 2.17 (कमिट 5311aee) में फिक्स किया गया।

उपयोग

root@kitploit:~
# स्टैंडअलोन ASan हार्नेस (कोई pjproject इंस्टॉलेशन आवश्यक नहीं):
./run.sh

# या मैन्युअल रूप से बनाएं और चलाएं:
gcc -fsanitize=address,undefined -g -O0 harness.c -o harness
./harness

# नेटवर्क PoC -- रॉग DNS सर्वर:
python3 poc.py --port 5353
# फिर PJSIP एप्लिकेशन को रॉग सर्वर की ओर इंगित करें:
#   pjsua --nameserver 127.0.0.1:5353 sip:[email protected]

# Docker (ASan के साथ स्रोत से pjproject 2.16 बनाता है):
docker compose build
docker compose run harness

आवश्यकताएँ

  • स्टैंडअलोन हार्नेस के लिए: AddressSanitizer समर्थन वाला gcc
  • नेटवर्क PoC के लिए: Python 3 (केवल stdlib, कोई बाहरी निर्भरता नहीं)
  • Docker के लिए: Docker + Docker Compose

फ़ाइलें

संदर्भ

  • https://github.com/pjsip/pjproject/security/advisories/GHSA-jr2p-p2w4-rr9q
  • https://github.com/pjsip/pjproject/commit/5311aee398ae9d623829a6bad7b679a193c9e199

कानूनी नोटिस

यह प्रोजेक्ट GNU GPLv3 के तहत जारी किया गया है।

यह रक्षात्मक सुरक्षा अनुसंधान, शिक्षा और अधिकृत परीक्षण के लिए प्रदान किया गया है। मालिक से स्पष्ट अनुमति के बिना इस कोड का उपयोग सिस्टम या सेवाओं के विरुद्ध न करें।

अनधिकृत उपयोग लागू कानून का उल्लंघन कर सकता है। लेखक तृतीय-पक्ष सिस्टम का परीक्षण करने की अनुमति नहीं देते हैं और दुरुपयोग के लिए ज़िम्मेदार नहीं हैं।

वारंटी और दायित्व शर्तों के लिए LICENSE फ़ाइल देखें।

टूल डाउनलोड करें
फ़ाइलविवरण
harness.cस्टैंडअलोन ASan हार्नेस -- सटीक pjproject प्रकारों के साथ कमज़ोर get_name_len() को पुनः लागू करता है
harness_pjlib.cवैकल्पिक हार्नेस जो वास्तविक pj_dns_parse_packet() को कॉल करता है (Docker के लिए)
poc.pyरॉग DNS सर्वर -- किसी भी क्वेरी का उत्तर क्राफ्टेड 20-बाइट पैकेट के साथ देता है
run.shASan हार्नेस बनाता और चलाता है
DockerfileASan के साथ स्रोत से pjproject 2.16 बनाता है
docker-compose.ymlpjlib हार्नेस के लिए Docker सेटअप
proof_output.txtलाइव सत्यापन से पूर्ण ASan आउटपुट