Katalog CVE

CVE-2026-107334

ŚrednieCVSS 5.4
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.21%

Percentyl 11 - wyżej niż 11% wszystkich znanych CVE

Streszczenie

Warstwa kontroli dostępu oparta na rolach (RBAC) nginx Lua w Malcolm decyduje, czy uwierzytelniony użytkownik może uzyskać dostęp do ścieżki ograniczonej rolą (np. /htadmin, /auth, /admin_login, /arkime/api/esadmin, NetBox, punkty uploadu) przez dopasowanie wzorca do surowego, percent-encoded URI żądania. Sam nginx wybiera jednak, która lokalizacja faktycznie obsługuje żądanie, używając zdekodowanego, znormalizowanego URI. Ponieważ kontrola RBAC nigdy nie dekoduje percent-encoding, uwierzytelniony użytkownik z niskimi uprawnieniami może zażądać ścieżki admin-only używając percent-encoding (np. /%68tadmin.php) i nginx przekieruje go do ograniczonej lokalizacji, podczas gdy brama Lua RBAC oceniająca nieodkodowany surowy string nie znajdzie żadnego ograniczenia i przyzna dostęp.

Ocena ryzyka

Uwierzytelniony użytkownik z niskimi uprawnieniami może uzyskać dostęp do funkcji administracyjnych, co może prowadzić do naruszenia integralności systemu i nieautoryzowanych zmian.

Rekomendacja

Zaktualizuj logikę RBAC, aby dekodować percent-encoding przed dopasowaniem wzorca. Dodatkowo zastosuj kontrolę dostępu na poziomie backendu, nie tylko na poziomie nginx.

Inne podatności w Malcolm

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Malcolm's nginx Lua role-based access control (RBAC) layer decides whether an authenticated user may reach a role-restricted path (e.g. /htadmin, /auth, /admin_login, /arkime/api/esadmin, NetBox, upload endpoints) by pattern-matching the raw, percent-encoded request URI. Nginx itself, however, selects which location block actually serves the request using the percent-decoded, normalized URI. Because the RBAC check never percent-decodes its input, an authenticated low-privilege user can request an admin-only path using percent-encoding (e.g. /%68tadmin.php) and have nginx route it to the restricted location while the Lua RBAC gate evaluating the un-decoded raw string finds no matching restriction and grants access.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS