
CVE-2026-35330: strongSwan EAP-SIM/AKA हीप ओवरफ्लो PoC
strongSwan EAP-SIM / EAP-AKA विशेषता पार्सर में पूर्व-प्रमाणीकरण हीप बफर ओवरफ्लो पूर्णांक अंडरफ़्लो के कारण।
src/libsimaka/simaka_message.c:419 में parse_attributes() TLV हेडर पढ़ता है जिनका length बाइट 4-बाइट शब्दों की गणना करता है। AT_RAND / AT_ENCR_DATA शाखा के लिए:
if (hdr->length * 4 > in.len || in.len < 4)
return invalid_length(hdr->type);
data = chunk_create(in.ptr + 4, hdr->length * 4 - 4);
जब hdr->length == 0, तो hdr->length * 4 - 4 अंडरफ़्लो होकर (size_t)0xFFFFFFFFFFFFFFFC बन जाता है। इसके बाद और को उस लगभग- लंबाई के साथ कॉल करता है — ASan के अंदर OOB को रोकता है ()।
add_attribute()malloc(sizeof(attr_t) + len)memcpy(..., data.ptr, len)SIZE_MAXlibsimaka.somemcpynegative-size-paramक्रैश simaka_message_create_from_payload(...) और फिर msg->parse(msg) से पहुंचा जाता है। किसी प्रमाणीकरण की आवश्यकता नहीं है; EAP-SIM/AKA डिस्पैचर किसी भी सहकर्मी क्रेडेंशियल जांच से पहले पेलोड को पार्स करता है।
प्रभावित: strongSwan <= 5.9.13। अपस्ट्रीम मास्टर कमिट aa5aaebc33 (2026-04-21) में ठीक किया गया।
gcc -fsanitize=address -g -O0 poc.c -lsimaka -lstrongswan -o poc
./poc
PoC स्थापित libsimaka.so और libstrongswan.so से लिंक होता है और सीधे सार्वजनिक API को कॉल करता है। strongSwan डेवलपमेंट पैकेज से हेडर आवश्यक हैं (-I/usr/include आमतौर पर पर्याप्त होता है जब libstrongswan-dev स्थापित हो)।
libsimaka.so <= 5.9.13 (अपस्ट्रीम टारबॉल से निर्मित; कुछ डिस्ट्रो बैकपोर्ट फिक्स करते हैं)gcc जिसमें AddressSanitizer सपोर्ट होयह प्रोजेक्ट GNU GPLv3 के तहत जारी किया गया है।
यह रक्षात्मक सुरक्षा अनुसंधान, शिक्षा और अधिकृत परीक्षण के लिए प्रदान किया गया है। इस कोड का उपयोग मालिक से स्पष्ट अनुमति के बिना सिस्टम या सेवाओं के विरुद्ध न करें।
अनधिकृत उपयोग लागू कानून का उल्लंघन कर सकता है। लेखक तृतीय-पक्ष प्रणालियों का परीक्षण करने की अनुमति नहीं देते हैं और दुरुपयोग के लिए जिम्मेदार नहीं हैं।
वारंटी और देयता शर्तों के लिए LICENSE फ़ाइल देखें।