---
id: CVE-2026-19670
title: >-
  Malcolm's nginx Lua role-based access control (RBAC) layer decides whether an
  authenticated user may reach a role-restricted path (e.g
summary: >-
  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…
severity: medium
cvss: 5.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N'
cwe:
  - CWE-863
published: '2026-08-18'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T15:28:33.090'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-19670'
references:
  - url: 'https://github.com/cisagov/Malcolm/security/advisories/GHSA-f2v6-8cj4-mhr6'
    label: ics-cert@hq.dhs.gov
  - url: 'https://www.cisa.gov/news-events/ics-advisories/icsa-26-230-01'
    label: ics-cert@hq.dhs.gov
  - url: 'https://github.com/cisagov/Malcolm/security/advisories/GHSA-f2v6-8cj4-mhr6'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
epss: 0.00222
epssPercentile: 0.13091
ingestedAt: '2026-09-08T15:33:26.954Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
