Critical Pre-auth* LPE RCE (R = "Regular") Wormable (by hand) Has a logo

A design flaw in every keyboard manufactured since 1868 lets an attacker with fingers convert physical key presses into arbitrary command execution. Combined with a password the attacker already knows (theirs), this yields full root.

*Post-auth on systems with a lock screen. Pre-auth on systems with a Post-it.

10.4CVSS (out of 10)
158 yrsExposure window
104Attack vectors (ANSI)
0Patches · Vendors who care

Summary

Keyboard2Shell is an input validation failure in the Human Interface Device class. The operating system accepts keystrokes from any keyboard and executes whatever they spell, without verifying the operator's intent, competence, or blood caffeine level.

In our lab, 4,000 of 4,000 attempts to type whoami returned the name of the person typing. We consider this a full identity disclosure.

Keyboard2Shell is the initial access vector for both Terminal2Shell and sudo2shell. We are upstream of them in the kill chain and would like that reflected in the conference talk order.

Am I affected?

Use our free scanner. No agent, no sales call, no 14-page PDF gated behind your work email.

Press any key to scan this device
AWAITING KEYSTROKE…
Exploitation attempts detected this session: 0

The scanner counts key presses in your browser. It does not record which keys, and nothing leaves this page. That would be a keylogger, and those have their own website.

Technical details

The USB HID specification defines no authentication, no authorization, and no code review for keystrokes. A device says "I am a keyboard" and the host replies "welcome, please drive." This trust model was last reviewed never.

Root cause

Every key is wired directly to an interrupt. There is no approval workflow, no change advisory board, and no four-eyes principle between Enter and production.

CVSS 3.1 vector

CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

AV:P   Physical. Downgraded by vendor. Upgraded by Bluetooth.
AC:L   Low. A toddler has a working exploit. So does the cat.
PR:N   None, if the user "just stepped away for a coffee".
UI:R   Required. The user is the interaction. Vendor cites this to close the ticket.
S:C    Changed. Usually from "prod is up" to "prod is down".
C/I/A  High / High / High / whatever comes after High.

Base score:  10.4   (researcher)
Base score:   3.1   (vendor: "requires physical access, will not fix")
EPSS:       100%   (exploited before you finished reading this line)

Proof of concept

We are withholding the full exploit for 90 days out of respect for coordinated disclosure. A partial PoC follows. It is the full exploit.

# Step 1: locate keyboard (hint: under your hands)
# Step 2: press keys in the following order
victim@laptop:~$ sudo -i
[sudo] password for victim: ********   # attacker supplies own password
root@laptop:~# id
uid=0(root) gid=0(root) groups=0(root)
root@laptop:~# # game over. also it's 17:58 on a Friday.

Windows variant: Win+R, cmd, Ctrl+Shift+Enter, then click "Yes". The mouse is a known accomplice and is tracked separately as Mouse2Yes.

A weaponized, fully automated exploit has been sold openly since 2010. It looks like a USB stick and is named after a bath toy.

Affected products

ProductStatusNotes
Laptop keyboardsVulnerableAttack surface ships attached to the target. Bold.
Mechanical keyboardsVulnerableBlue switches provide audible intrusion detection for the entire open space.
Butterfly keyboards (2015–2019)Partially mitigatedVendor shipped a hardware fix: the keys stop working. Rolled back after customer complaints.
Touch BarPartially mitigatedRemoved physical Esc. Vim users were contained inside their sessions for years.
On-screen keyboardsVulnerableAutocorrect adds integrity loss at no extra ducking cost.
Dvorak / ColemakVulnerableSecurity through obscurity. Also the user will tell you about it.
60% keyboardsVulnerableReduced attack surface. Marketing calls this "hardened".
Split ergonomic keyboardsVulnerableSegmented, but both halves are in the same trust zone. Classic flat network.
RGB keyboardsVulnerable+15% exploitation speed (unverified, source: Reddit).
Wireless keyboardsVulnerableNow exploitable from the meeting room next door. Dongle lost since 2021.
Kiosk with a "locked down" keyboardVulnerablePress Shift five times. You know why.
Servers with no keyboard attachedVulnerableIPMI is a keyboard with an IP address and a default password.
AI agentsVulnerableVirtual keyboard, real shell, --dangerously-skip-permissions. Keyboard2Shell-as-a-Service.
TypewritersNot affectedAir-gapped. Output is immutable and append-only. The original blockchain.
Fax machinesNot affectedStill in production. Still in the compliance policy.
Voice assistantsNot affectedSee Voice2Shell (domain available, please hurry).

Threat actors

Attribution is hard, so the industry named everybody four times. Known clusters abusing Keyboard2Shell:

Tracked asAlso known asTTPs
FELINE SPIDERAPT-MEOW · Whiskers Typhoon · UNC-9LIVESWalks across keyboard during screen share. Sends "jjjjjjjjjjjjj" to the CEO. Shows no remorse.
SLEEPY INTERNForehead Blizzard · G-zzzzFace-first denial of service on the space bar. Dwell time: until stand-up.
TODDLER PANDASticky Tempest · APT-3 (years old)Novel key combinations no red team has reproduced. Rotates the screen 90°. Applies jam.
REPLY-ALL BEAROcto Fwd: Fwd: Re:Mass-mailer campaign against the whole company. Follow-up wave: "please remove me from this thread".
SENIOR ADMINTrusted Insider · "I know what I'm doing"rm -rf with a space in the wrong place. Wrong terminal tab. Friday deploy.

Indicators of compromise

TypeIndicatorConfidence
File~/.bash_history exists and is not emptyHigh
PhysicalWorn W A S D keys on a "work only" laptopHigh
PhysicalCrumbs. Forensics dates the lower layer to the Windows 7 era.High
Processvim running for 9 days. User does not know how to exit.Medium
Loggit push --force at 02:14, followed by 40 minutes of silenceHigh
CredentialPost-it on the monitor. Second Post-it with the new one after rotation.Critical
NetworkSearch query: "how to undo rm -rf"Too late
BehavioralUser typed their password into the Slack channelHigh. It was Summer2026!
Hashd41d8cd98f00b204e9800998ecf8427eIt's the MD5 of nothing. Every IoC list has one.

Mitigations

1. Remove the keyboard

Fully effective. Also resolves 94% of your helpdesk tickets and all of your revenue.

2. Zero Trust Keyboard™

Never trust, always verify. Require MFA on every keystroke. Typing "hello" takes five push approvals; users will approve all of them without looking, which is how you know it's real MFA.

3. Glue the USB ports shut

Included here as a joke. Included in at least one real security policy as a control.

4. Buy KDR (Keystroke Detection & Response)

AI-powered, agentic, next-gen, single pane of glass. Detects keystrokes in real time and generates an alert for each one. Your SOC will tune it to "informational" by Wednesday. Pricing: call us. No, really, we won't tell you otherwise.

5. Security awareness training

A mandatory 45-minute video with a stock-photo hacker in a hoodie, followed by a quiz where the answer is always "report it to IT". Completion rate: 100%. Behavior change: 0%.

6. Go passwordless

Removes the password. Leaves the keyboard. The board will still count it.

7. Accept the risk

Add a line to the risk register, set owner to "IT", set review date to next year. Industry standard since 1868.

Vendor statements

Vendor A:  "Works as designed."
Vendor B:  "Out of scope: requires physical access."
Vendor C:  "We take the security of our customers very seriously."
Vendor D:  "Fixed in the Enterprise tier."
Bounty:    Closed as Informative. Duplicate of #1. −5 reputation.
Vendor E:  [no response; legal sent a cease and desist to the logo]

CERT alerts around the world

Live advisory status from national teams, refreshed whenever we think of a new joke.

United States
CISA
Added to KEV

Emergency directive: federal agencies must remove all keyboards by Friday. Agencies request a waiver, typed on a keyboard.

Italy
CSIRT Italia / ACN
Risk: high

Bulletin published. Notification sent by certified email. A circular follows, then a clarification of the circular. Login requires a digital identity you set up in 2021 and forgot.

Germany
BSI / CERT-Bund
Warnstufe Rot

Advisory issued by fax. A printed copy must be signed, stamped and filed. QWERTZ confirmed equally affected.

France
CERT-FR / ANSSI
Alerte

Recommends AZERTY as a compensating control: nobody else can find the keys. Advisory available in French. Only.

United Kingdom
NCSC
Guidance published

Published guidance on reading the guidance. Advises the public to keep calm and carry on typing.

European Union
CERT-EU / ENISA
Pending

Advisory awaiting translation into 24 official languages. NIS2 reporting clock started 158 years ago; you are late.

Japan
JPCERT/CC
Notice

Issued a formal apology on behalf of the keyboard. Coordinated with every vendor, on time, politely.

Australia
ASD's ACSC
Alert

The Essential Eight is now the Essential Nine. Number nine: "no keyboards". Maturity level zero expected nationwide.

Netherlands
NCSC-NL
Handled

Already scanned the whole internet for it and emailed you about your exposed keyboard last Tuesday.

Switzerland
NCSC.ch
Neutral

Declines to take a position between QWERTZ and QWERTY. Offers to host the negotiations.

United States
FBI
Flash

Urges the public to report suspicious typing. Reminds everyone that it would also like a backdoor in the Enter key.

Antarctica
PenguinCERT
Not affected

No fingers. Posture considered best in class. Now selling consultancy.

North Pole
Santa
Notified

Already informed by sudo2shell. List updated. You know which column.

Your company
The CISO
Forwarded

"Are we affected? Need a slide for the board by 9." Sent from iPhone. On-screen keyboard: affected.

Parody notice: every statement above is invented. None of these organizations said, published or faxed any of this. They do real work and deserve a better backlog than ours.

Notify the authorities

Responsible disclosure made easy. Pick your recipients and escalate in one click. Warning: completing this form requires exploiting the vulnerability.

Recipients
Nothing is actually sent. Ever. To anyone.

  

Disclosure timeline

  • Typewriter patented. Vulnerable design enters production. No threat model performed.
  • QWERTY layout ships. Inefficiency introduced as the first and last rate-limiting control.
  • Someone connects a keyboard to a computer. Blast radius upgraded from "paper" to "everything".
  • Buckling-spring keyboards add loud audit logging. Feature later removed to cut costs.
  • Weaponized exploit sold as a USB gadget. Industry responds with a conference talk.
  • BadUSB presented. Everyone agrees it's serious. USB ports remain.
  • One vendor ships keys that fail on contact with dust. First real mitigation; recalled.
  • Researcher notices keyboard under own hands. Buys domain before writing PoC, as per best practice.
  • Logo finished. Vendors contacted. Reply: "That is what a keyboard is."
  • 90-day embargo broken by everyone who has ever typed anything.
  • Talk accepted at a major conference. 50 minutes. Slide 3 is the logo. Slide 4 is merch.

FAQ

Am I affected?

Do you have a keyboard? Then yes. Do you not have a keyboard? Then how did you search for this page. Yes.

Is it being exploited in the wild?

Roughly 5.4 billion people exploit it daily. Several are doing it in your office right now, some of them on purpose.

Why does it have a name, a logo and a website?

A vulnerability without a domain is just a bug. A bug doesn't get you a keynote.

Is there a patch?

No. Keycaps can be replaced, but that only changes the font of the attack.

Does my EDR detect it?

Your EDR sees a signed process, started by a legitimate user, with valid credentials. It's very happy. It has given the session a low risk score.

Is this covered by ISO 27001 / SOC 2 / NIS2 / DORA?

Yes. Your auditor will ask for a screenshot of the keyboard and a policy stating that keyboards are used "in accordance with business needs". You pass.

Is AI involved?

The investors asked the same thing, so yes. The keyboard is a human-in-the-loop agentic input layer. Please value us accordingly.

How is this different from Terminal2Shell and sudo2shell?

They are post-exploitation. We are initial access. Without us, they are two unreachable binaries. We accept thanks in the form of citations.

Should I panic?

Yes, but schedule it. Thursday has availability. Bring the risk register.

Is this real?

The keyboard is real. The shell is real. The 10.4 is not. This is satire about vulnerabilities with marketing budgets. Lock your screen anyway.