Summary
CVE-2026-75627 is a critical authentication bypass vulnerability in Bastillion, an open-source SSH key and system management application, affecting versions 0 through 5.1.0. The flaw allows an unauthenticated attacker to reach protected administrative controllers by crafting request URIs that evade the application’s authentication filter, exposing user management and SSH fleet administration functions to remote takeover.
Technical details
- Root cause: a mismatch between how Bastillion’s
AuthFilterand its request dispatcher (BaseKontroller) evaluate the request path — the filter matches against the normalized servlet path for patterns like/manage/*and/admin/*, while the dispatcher originally matched using a substringcontains()check against the raw request URI. - Trigger condition: an attacker prepends extra path segments (e.g., using matrix parameters such as
/x;/manage/viewUsers.ktrl) so the raw URI still contains the protected controller path (satisfying the dispatcher’s substring check) while the normalized servlet path no longer matches/manage/*or/admin/*(causingAuthFilterto skip enforcement). - Attack vector: network, no authentication or user interaction required — a single crafted HTTP request against the exposed web interface.
- Impact: unauthenticated access to administrative controllers, including viewing user listings, creating manager accounts, and registering managed systems, giving an attacker control over SSH access to the managed server fleet.
Affected software
- Bastillion versions 0 through 5.1.0 (bastillion-io/Bastillion)
Severity
CVSS 3.1 Base Score: 9.8 (Critical) — Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
(IONIX-reported score for this advisory: 9.3)
Mitigation and recommended actions
- Immediate: upgrade Bastillion to the patched release that enforces exact servlet-path matching (
request.getServletPath().equals(...)) between the dispatcher andAuthFilter, rather than substring-based URI matching. - If no patch can be applied immediately: restrict network access to the Bastillion management interface (place it behind a VPN or IP allow-list), and deploy a reverse proxy/WAF rule that normalizes and rejects request URIs containing extraneous path segments, matrix parameters (
;), or path traversal sequences before they reach the application. - Review Bastillion user and managed-system inventories for unexpected accounts or SSH targets that may have been added if the instance was internet-exposed prior to patching.
How IONIX identifies potentially affected assets
IONIX matches the following signal against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Raw response body:
/_res/css/bastillion.css

