
CVE-2026-30480 के लिए प्रूफ-ऑफ-कॉन्सेप्ट, LibreNMS NFSen मॉड्यूल में एक Local File Inclusion भेद्यता, जो मनमाने PHP फ़ाइलों को शामिल करने के लिए path traversal प्रदर्शित करती है और प्रभाव विश्लेषण करती है।
| फ़ील्ड | मान |
|---|
| उत्पाद | LibreNMS |
| विक्रेता | LibreNMS प्रोजेक्ट |
| भेद्यता प्रकार | स्थानीय फ़ाइल समावेशन (LFI) / पाथ ट्रैवर्सल |
| CWE | CWE-98, CWE-22 |
| CVSS स्कोर | 7.5 - 8.5 (उच्च) |
| प्रमाणीकरण आवश्यक | हाँ |
| खोज तिथि | 2026-02-01 |
फ़ाइल: includes/html/pages/device/nfsen.inc.php
पंक्तियाँ: 46-48
if (is_file('includes/html/pages/device/nfsen/' . $vars['nfsen'] . '.inc.php')) {
include 'includes/html/pages/device/nfsen/' . $vars['nfsen'] . '.inc.php';
} else {
include 'includes/html/pages/device/nfsen/general.inc.php';
}
$vars['nfsen'] पैरामीटर उपयोगकर्ता इनपुट ($_GET/$_POST) से प्राप्त होता है और उचित सैनिटाइज़ेशन के बिना सीधे include() स्टेटमेंट में जोड़ा जाता है। केवल किया गया सत्यापन एक is_file() जाँच है, जो पाथ ट्रैवर्सल अनुक्रमों को नहीं रोकता है।
../) का कोई सैनिटाइज़ेशन नहींis_file() केवल अस्तित्व की जाँच करता है, पथ सुरक्षा की नहींकिसी भी प्रमाणित उपयोगकर्ता के रूप में LibreNMS में लॉगिन करें
किसी भी डिवाइस के Netflow टैब पर नेविगेट करें:
https://[TARGET]/device/[DEVICE_ID]/tab=netflow
दुर्भावनापूर्ण पैरामीटर जोड़ें:
https://[TARGET]/device/[DEVICE_ID]/tab=netflow?nfsen=..%2f..%2fapi-access
देखें कि NFSen सामग्री के बजाय API एक्सेस पृष्ठ की सामग्री लोड होती है
| परिदृश्य | अपेक्षित | वास्तविक |
|---|---|---|
| सामान्य अनुरोध | NFSen सामान्य पृष्ठ (फ्लो, पैकेट, ट्रैफ़िक) | NFSen सामान्य पृष्ठ |
| दुर्भावनापूर्ण अनुरोध | NFSen सामान्य पृष्ठ | API एक्सेस पृष्ठ सामग्री |
| प्रभाव प्रकार | विवरण |
|---|---|
| सूचना प्रकटीकरण | मनमानी .inc.php फ़ाइलों को शामिल करना और निष्पादित करना |
| विशेषाधिकार वृद्धि | कम-विशेषाधिकार वाले उपयोगकर्ता के रूप में केवल-व्यवस्थापक पृष्ठों तक पहुंच |
| संभावित RCE | यदि हमलावर किसी .inc.php फ़ाइल की सामग्री को नियंत्रित कर सकता है |
URL: https://[REDACTED]/about
संस्करण: 22.11.0-23-gd091788f2 (गुरु दिसम्बर 15 2022)
विवरण: परीक्षण किए गए संस्करण को दिखाने वाली LibreNMS संस्करण जानकारी। यह संस्करण CVE-2021-44278 पैच (v21.12.0) के बाद है, जो पुष्टि करता है कि यह एक नई, अनपैच्ड भेद्यता है।

URL: https://[REDACTED]/device/114/tab=netflow
विवरण: फ्लो, पैकेट और ट्रैफ़िक अनुभाग दिखाने वाला सामान्य NFSen/Netflow पृष्ठ। शोषण के बिना यह अपेक्षित व्यवहार है।

URL: https://[REDACTED]/device/114/tab=netflow?nfsen=..%2f..%2fapi-access
पेलोड: ..%2f..%2fapi-access (URL एन्कोडेड पाथ ट्रैवर्सल)
विवरण: जब दुर्भावनापूर्ण पेलोड इंजेक्ट किया जाता है, तो NFSen सामग्री के बजाय API एक्सेस पृष्ठ की सामग्री लोड होती है। यह सफल स्थानीय फ़ाइल समावेशन प्रदर्शित करता है - general.inc.php के बजाय api-access.inc.php फ़ाइल शामिल की गई थी।

URL: https://[REDACTED]/device/114/tab=netflow?nfsen=..%2f..%2fapi-access
पेलोड: ..%2f..%2fapi-access (URL एन्कोडेड पाथ ट्रैवर्सल)
विवरण: कम-विशेषाधिकार वाले उपयोगकर्ता (वैश्विक पढ़ना) के साथ वही शोषण प्रयास किया गया। पृष्ठ "आपके पास इस पृष्ठ को देखने के लिए अपर्याप्त अनुमतियाँ हैं" त्रुटि दिखाता है। यह पुष्टि करता है:

showconfig.inc.php को प्रभावित करती थी और v21.12.0 में पैच की गई थी)। यह भेद्यता nfsen.inc.php को प्रभावित करती है और अनपैच्ड बनी हुई है।व्हाइटलिस्ट-आधारित सत्यापन लागू करें:
$allowed_pages = ['general', 'stats', 'channel'];
if (in_array($vars['nfsen'], $allowed_pages, true)) {
include 'includes/html/pages/device/nfsen/' . $vars['nfsen'] . '.inc.php';
} else {
include 'includes/html/pages/device/nfsen/general.inc.php';
}
पाथ ट्रैवर्सल हटाने के लिए basename() का उपयोग करें:
$nfsen_page = basename($vars['nfsen']);
if (is_file('includes/html/pages/device/nfsen/' . $nfsen_page . '.inc.php')) {
include 'includes/html/pages/device/nfsen/' . $nfsen_page . '.inc.php';
}
| तिथि | कार्रवाई |
|---|---|
| 2026-02-01 | भेद्यता खोजी गई |
| 2026-04-14 | CVE प्रकाशित, विक्रेता को सूचित किया गया |
| 2026-04-14 | सार्वजनिक प्रकटीकरण |
यह भेद्यता रिपोर्ट केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान की गई है। शोधकर्ता ने सार्वजनिक प्रकटीकरण से पहले विक्रेता को सूचित करके जिम्मेदार प्रकटीकरण प्रथाओं का पालन किया।
खोजकर्ता: Ömer Baran Parlak
संपर्क: [email protected]
GitHub: parlakbarann