| フィールド | 値 |
|---|
| 製品 | LibreNMS |
| ベンダー | LibreNMS Project |
| 脆弱性タイプ | ローカルファイルインクルージョン(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 Access ページのコンテンツが読み込まれることを確認する
| シナリオ | 期待される動作 | 実際の動作 |
|---|---|---|
| 通常のリクエスト | NFSen 一般ページ(フロー、パケット、トラフィック) | NFSen 一般ページ |
| 悪意のあるリクエスト | NFSen 一般ページ | API Access ページのコンテンツ |
| 影響タイプ | 説明 |
|---|---|
| 情報漏えい | 任意の .inc.php ファイルをインクルードして実行 |
| 権限昇格 | 低権限ユーザーが管理者専用ページにアクセス |
| 潜在的な RCE | 攻撃者が任意の .inc.php ファイルのコンテンツを制御できる場合 |
URL: https://[REDACTED]/about
バージョン: 22.11.0-23-gd091788f2(2022年12月15日(木))
説明: テスト対象バージョンを示す 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 Access ページのコンテンツが読み込まれます。これはローカルファイルインクルージョンの成功を示しています - 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