Kiosk Escape: Breaking Out of Locked-Down Sessions, and How to Prevent It

A kiosk is a system running one application in a restricted session — a self-service terminal, a check-in screen, a public catalogue, a digital sign. The restriction is usually implemented inside the application, and that is the flaw: an attacker who reaches anything outside the application's own interface is out, because nothing below it was locked down.

How escapes happen

The techniques are unglamorous and consistent, and they all exploit the same gap.

Dialog boxes. Any feature that opens a file picker, a print dialog, a save-as window or a help browser hands the user a file system interface. From a file dialog it is frequently possible to browse the disk, rename or launch files, and in some cases type a path that opens a command prompt. Print-to-file, "open containing folder" and attachment handling are the recurring routes.

Keyboard shortcuts. Task manager, run dialog, accessibility features, window switching, and the shortcuts that invoke system utilities. A physical keyboard on a kiosk is a substantial risk on its own, and an attacker who brings a USB keyboard to a touchscreen terminal has added one.

Links and handlers. A hyperlink to a local path, a protocol handler registered to a different application, or content that launches a helper program. A browser kiosk that follows a link to a file URI is browsing the disk.

Accessibility and language features. Screen readers, on-screen keyboards and input method editors have historically provided routes to arbitrary execution, and they are enabled by default on many platforms.

Error handling. A crashed application that exits to the desktop, or an error dialog with a "details" button opening a browser, achieves what the attacker was attempting anyway — and crashing the application is usually easier than escaping it politely.

Why application-level lockdown fails

Hiding the menu bar, disabling right-click and going full screen removes the visible routes out. Every mechanism above bypasses the interface entirely, which is why a kiosk locked down in the application is locked down against users who are not trying.

The correct model is to enforce the restriction below the application, in the operating system, so that even a fully escaped session reaches nothing useful. That is the same reasoning as everywhere else in this subject: assume the layer you are defending will fail and constrain what lies beneath.

Locking it down properly

Run as a restricted account. Not an administrator, with a policy-enforced restriction on which executables may run. Application allowlisting is the control that makes an escape worthless, because the escaped session cannot launch anything.

Use the platform's kiosk mode rather than a full-screen application. Operating systems provide assigned-access modes that restrict the session at system level, and browsers provide kiosk modes with policy controls for downloads, printing, developer tools and navigation.

Disable the input routes. Remove or block the keyboard where the application does not need one, disable USB ports physically or by policy so a keyboard cannot be added, and disable the shortcuts, accessibility features and task manager that are not required.

Handle failure deliberately. A watchdog that restarts the application on crash, and a session that returns to the kiosk rather than to a desktop. Auto-logoff and reset on idle clears whatever the previous user left behind.

Encrypt the disk. A kiosk is physically accessible by definition, so anyone who can reach the hardware can boot from external media and read an unencrypted drive — the mechanism under offline boot environments, and the reason full disk encryption is the control that survives physical access.

Segment the network. Treat the kiosk as untrusted: its own VLAN, no route to internal systems, access only to the specific service it needs. An escaped kiosk on a flat network is a foothold inside the perimeter, and this single control bounds the damage more than any hardening of the terminal itself.

Detection and physical placement

Alert on the session exiting the kiosk application, on unexpected processes starting, and on any interactive logon. Kiosk behaviour is extremely predictable, which makes anomalies easy to spot if anyone is looking at the logs — and they should reach your SIEM like any other endpoint.

Physically, secure the chassis and the ports, and place the terminal where it is overlooked rather than in an unobserved corner. The supporting controls are the ordinary physical ones under physical and environmental attacks, and they apply with more force here because the attacker is expected to be standing at the device.

Exam angles

Know kiosk escape as breaking out of a restricted single-application session, typically through file and print dialogs, keyboard shortcuts, links and protocol handlers, accessibility features, or an application crash. Understand that application-level restriction is insufficient and that lockdown must be enforced by the operating system with a restricted account and application allowlisting. Name disk encryption for physical access and network segmentation as the controls that limit the consequence of a successful escape.

Comments