The WAF That Wasn't: Hardening WAF Admin Interfaces Against Attack

The WAF That Wasn't: Hardening WAF Admin Interfaces Against Attack

The WAF That Wasn't: Hardening WAF Admin Interfaces Against Attack

Web Application Firewalls exist to protect web applications from attacks. But what happens when the WAF itself becomes the attack surface? In August 2026 alone, two separate vulnerabilities in WAF products — one open-source, one commercial — demonstrated that the admin interfaces of security tools are themselves web applications that need the same scrutiny they are designed to provide.

Two Vulnerabilities, One Pattern

On August 12, Fortinet disclosed CVE-2026-70466, a medium-severity (CVSS 5.3) authentication bypass vulnerability affecting FortiWeb versions 7.0 through 8.0.2. The flaw stems from an incomplete deny list in FortiWeb's request processing logic — an attacker can craft HTTP requests using encodings or casings the filter fails to cover, bypassing access controls without authentication. The very mechanism a WAF uses to block malicious traffic was itself circumventable.

Days earlier, the open-source WAF BunkerWeb disclosed CVE-2026-61718 (CVSS 5.4), a broken access control issue in its web UI. A URL prefix (/cache/) was placed in an authorization bypass list alongside static assets like CSS and JavaScript — but cache routes included a POST /cache/delete endpoint that permanently deletes security-relevant job cache files. Any logged-in user, including a read-only account, could trigger destructive operations they had no permission to perform.

Different products, different root causes, same outcome: the WAF's admin interface failed to enforce the security guarantees the WAF itself is sold on.

Why WAF Admin Interfaces Are High-Value Targets

A WAF admin interface is the control plane for your entire web application defense. An attacker who gains access — or even partial access — can:

  • Disable or weaken protection rules — turning off signatures for specific attacks, creating gaps in coverage
  • Whitelist malicious traffic — adding IP or URL exceptions that let attacks through undetected
  • Delete security-relevant data — purging IP blocklists, GeoIP databases, or ModSecurity CRS rules, forcing a re-download during which protection is degraded
  • Read configuration secrets — extracting SSL certificates, API keys, or backend server addresses stored in WAF configuration
  • Plant persistent backdoors — modifying custom rules to allow ongoing access while appearing legitimate

The blast radius of a compromised WAF admin interface extends well beyond the WAF itself. Every application the WAF protects becomes exposed the moment its protection is silently weakened.

The Deny-List Anti-Pattern

Both vulnerabilities share a common architectural root cause: reliance on deny lists instead of allow lists.

In BunkerWeb's case, the authorization middleware maintained a bypass list of URL prefixes that skipped permission checks. The list was intended for static assets (/css/, /img/, /js/), but /cache/ was added alongside them despite containing stateful operations. This is the classic middleware bypass pattern — a list of exceptions that grows over time without proper auditing.

In FortiWeb's case, the WAF's own input filtering relied on a deny list of disallowed values. Input variants not enumerated in the list passed validation, even when they produced the same protected behavior. A WAF that uses deny lists for its own access control is subject to the same bypass techniques it is supposed to protect applications against.

The lesson is straightforward: security tools should use allow lists, not deny lists, for their own access control. Authorization should be opt-in for every route, not opt-out for a curated set of exceptions.

Hardening Checklist for WAF Admin Interfaces

  1. Network-restrict the admin interface. Never expose WAF admin panels to the public internet. Place them behind a VPN, bastion host, or IP allowlist. If remote access is required, use a zero-trust access proxy with multi-factor authentication.
  2. Audit authorization bypass lists. Review every URL prefix, path pattern, or route that skips middleware — authentication, authorization, rate limiting, or logging. Remove anything that is not a genuinely static asset. If a route serves dynamic content or triggers state changes, it must go through the full middleware chain.
  3. Prefer allow-list authorization. Instead of bypassing auth for a list of exceptions, require auth for everything and explicitly allow only authenticated static asset routes. This prevents future route additions from accidentally inheriting a bypass.
  4. Enforce least privilege on all admin operations. If your WAF supports multi-user access, ensure role-based access control is enforced consistently across every route — including internal plumbing routes that do not look like user-facing features. Cache management, configuration reload, and log access are all privileged operations.
  5. Treat cache integrity as a security property. Deleting cache files in a WAF can degrade protection temporarily. Cache deletion should require write permissions, be logged, and trigger an alert. Do not treat it as a routine operational action.
  6. Monitor for configuration drift. Alert on unexpected rule changes, configuration reloads, or whitelist additions. An attacker who compromises the admin interface will try to make small, persistent changes — detect them early.
  7. Apply vendor patches immediately. Both BunkerWeb 1.6.12 and FortiWeb patches are available. Running a WAF with a known admin interface vulnerability means your primary security control is itself compromised.
  8. Test the WAF admin interface like any other web app. Run authenticated and unauthenticated scans against it. Test for IDOR, broken access control, path traversal, and SSRF. The admin interface is a web application — treat it like one.

The Broader Principle

Security tools are not automatically secure. A WAF protects your web application, but the WAF itself is software with its own attack surface — web UIs, APIs, configuration endpoints, and admin interfaces. Each one needs the same scrutiny you would apply to any other web application.

The BunkerWeb and FortiWeb vulnerabilities are not exotic. They are the same classes of bugs — broken access control and incomplete input validation — that WAFs are designed to detect in the applications they protect. The irony is sharp but the lesson is clear: the security of your security tools is part of your security posture, not separate from it.

Sources