The Dropbear CVEs that matter in embedded firmware are the ones your build compiles in and exposes: the Terrapin protocol flaw (CVE-2023-48795) on images from 2020.79 to before 2024.84 that offer chacha20-poly1305, the unix-socket forwarding root escalation CVE-2025-14282 in 2024.84 to 2025.88, and old server memory bugs such as CVE-2016-7406 and CVE-2017-9078 on long-unpatched devices. Find the version from the SSH banner or binary strings, check the compile-time options, then upgrade, remove weak algorithms and restrict where the SSH port listens.
Key takeaways
- Two properties shape how its CVEs behave in firmware.
- The project's CHANGES file is the primary record: each release lists its security fixes, usually with the CVE ID.
- For Dropbear the scope is narrower than for OpenSSH.
- Start with the version, then the options.
Why is Dropbear in so many firmware images?
Dropbear is a small SSH server and client (dropbear, dbclient, dropbearkey, dropbearconvert and scp) that is often built as a single dropbearmulti binary, which makes it a common choice for routers, gateways, cameras and industrial controllers where OpenSSH is too large. It ships with build systems such as Buildroot and Yocto, which our embedded Linux build systems and SBOM guide covers, and it usually sits next to BusyBox in the same root filesystem (see BusyBox vulnerabilities in embedded Linux firmware for that half of the image).
Two properties shape how its CVEs behave in firmware. First, almost every feature is a compile-time switch. Dropbear's own default_options.h says it "documents compile-time options, and provides default values", and that local customisation goes into localoptions.h, so two devices running the same Dropbear version can have different ciphers, key exchange methods and forwarding features. Second, device makers often pin one Dropbear version for years, so a fleet in the field can carry CVEs that were fixed upstream long ago.
Which Dropbear CVEs matter most?
The project's CHANGES file is the primary record: each release lists its security fixes, usually with the CVE ID. The table below pulls the ones most likely to show up in a firmware scan. Scores are NVD's unless marked; EPSS values are from FIRST's 2026-11-09 dataset, and none of these CVEs was in CISA's KEV catalog as of its 2026.11.09 release.
| CVE | What it is | Fixed upstream | Score / EPSS | Reachable when |
|---|---|---|---|---|
| CVE-2016-7406 | Format string injection in server message printing (username, host argument) | 2016.74 | NVD 9.8 / 0.102 | Any network access to the SSH port, before login |
| CVE-2017-9078 | Double free in server TCP listener cleanup, possible post-auth root code execution | 2017.75 | NVD 8.8 / 0.055 | An authenticated user with TCP forwarding enabled |
| CVE-2018-15599 | Username enumeration through authentication failure handling | 2019.77 | NVD 5.3 / 0.027 | Any network access to the SSH port |
| CVE-2021-36369 | Client accepts "trivial" authentication with no prompt | 2022.82 (-o DisableTrivialAuth) |
NVD 7.5 / 0.019 | Only when the device uses dbclient to connect out |
| CVE-2023-48795 | Terrapin prefix truncation of the SSH handshake | 2024.84 (Strict KEX) | NVD 5.9 / 0.935 | chacha20-poly1305 negotiated and an active man-in-the-middle |
| CVE-2025-47203 | dbclient multihop hostname passed to the shell |
2025.88 | CNA (MITRE) 4.5 / 0.006 | Only when dbclient gets untrusted hostname arguments |
| CVE-2025-14282 | Unix stream forwarding done as root, bypassing SO_PEERCRED checks | 2025.89 | CNA 5.4 / 0.004 | 2024.84 to 2025.88, multi-user logins, stream forwarding built in |
The CHANGES file also lists 2026 server fixes that may not have a CVE ID: 2026.90 closes a bypass of an authorized_keys forced command when Dropbear runs with -t, and 2026.93 fixes a use-after-free in X11 forwarding, which is off by default (DROPBEAR_X11FWD 0). The latest release on 2026-11-10 is 2026.94 (23 July 2026).
What does Terrapin (CVE-2023-48795) actually mean for Dropbear?
The Terrapin paper site describes it as a prefix truncation attack: "by carefully adjusting the sequence numbers during the handshake, an attacker can remove an arbitrary amount of messages sent by the client or server at the beginning of the secure channel without the client or server noticing it." It needs an attacker who can intercept and modify traffic on the network path, and a connection secured with ChaCha20-Poly1305 or a CBC cipher with Encrypt-then-MAC.
For Dropbear the scope is narrower than for OpenSSH. Dropbear's 2024.84 release notes say "chacha20-poly1305 is the only affected cipher," and that the flaw "does not seem to reduce Dropbear's security," because the only packet affected would be the server-sig-algs extension, used for compatibility. The Debian security tracker entry marks Debian's older buster package not affected because ChaCha20-Poly1305 support only arrived in 2020.79, and lists the backported fixes as 2020.81-3+deb11u1 (bullseye) and 2022.83-1+deb12u1 (bookworm).
The 0.935 EPSS score looks alarming, but the CVE record covers OpenSSH and dozens of other SSH implementations, so the score is not specific to Dropbear. Use the Dropbear-specific facts above to rank it, which usually places Terrapin below an unpatched memory-safety bug on the same device.
How do you identify the Dropbear version and build options in a firmware image?
Start with the version, then the options.
SSH bannerDropbear's sysoptions.hbuilds the identification string as"SSH-2.0-dropbear" IDENT_VERSION_PART, where the defaultIDENT_VERSION_PARTis"_" DROPBEAR_VERSION. A device that answersSSH-2.0-dropbear_2022.83is running a 2022.83 base.Binary stringsIn the unpacked root filesystem, run stringson/usr/sbin/dropbearordropbearmultiand search fordropbear_20. On a device you control, Dropbear's server help lists-Vto print the version.Package metadataOpenWrt-based images record the dropbearpackage version in the opkg database, and Buildroot or Yocto build trees record it in the package recipe or manifest.Compile-time optionsLook for the build's localoptions.hordistrooptions.hin the vendor's source release or build tree, if you have it. Without the source, algorithm names compiled into the binary ([email protected],diffie-hellman-group1-sha1,ssh-dss,hmac-sha1) show what it can negotiate. From 2026.91 on,dropbear -Qprints the supported algorithms directly.
Treat the version as the upstream base only. A vendor can override IDENT_VERSION_PART to hide it, and Debian shipped the CVE-2025-47203 fix as 2022.83-1+deb12u3 per its tracker entry, so a "2022.83" banner can still be patched. Backport evidence is what turns a version match into a documented "fixed" or "affected" decision.
How should you prioritise Dropbear CVEs?
Order the matches by what is compiled in and reachable, then by public exploitation data. Our KEV and EPSS prioritisation guide covers how those scores work.
- First: pre-authentication memory bugs on old versions (CVE-2016-7406 before 2016.74) and post-authentication root code execution (CVE-2017-9078 before 2017.75) where the SSH port is reachable from a network you do not control.
- Next: CVE-2025-14282 on 2024.84 to 2025.88 if more than one account can log in. The 2025.89 notes say it allowed "root privilege escalation" through programs that authenticate unix sockets by peer credentials.
- Then: Terrapin, if chacha20-poly1305 is built in and the SSH service is exposed beyond a trusted management network.
- Context-dependent: client-side CVEs (CVE-2021-36369, CVE-2025-47203) only matter if the device itself runs
dbclient, for example in a tunnel or backup script.
Exposure changes the order more than scores do. A Dropbear server bound to a management VLAN only, with password logins off, sits in a very different place from one listening on the WAN interface with a factory default password; our hard-coded credentials guide covers that second failure.
How do you fix Dropbear vulnerabilities in firmware?
UpgradeMove to a current release from the Dropbear CHANGES file, check its >>compatibility notes (for example, 2024.84 changed how/etc/shadowis used), rebuild and re-scan. If you cannot move, backport the fix commits the CHANGES file links for each security entry.Disable weak or affected algorithms in `localoptions.h`Upstream defaults already turn off DROPBEAR_3DES,DROPBEAR_ENABLE_CBC_MODE,DROPBEAR_SHA1_HMAC,DROPBEAR_SHA1_96_HMAC,DROPBEAR_DSSandDROPBEAR_DH_GROUP1; check that your build has not turned them back on. For Terrapin on an unpatched build, the Terrapin FAQ's workaround is to disable chacha20-poly1305 and use AES-GCM instead, which for Dropbear meansDROPBEAR_CHACHA20POLY1305 0andDROPBEAR_ENABLE_GCM_MODE 1. Test interoperability with the tools your field engineers use first, because the Terrapin FAQ warns you can lose access if a client lacks the remaining algorithms. Our weak cryptography in embedded firmware guide covers algorithm choice in more depth.Turn off features you do not useRun the server with -jand-kto disable local and remote forwarding (the 2025.89 notes name-jas a CVE-2025-14282 mitigation), or build withDROPBEAR_SVR_LOCALSTREAMFWD 0and the other forwarding options at 0. KeepDROPBEAR_X11FWDat its default of 0.Restrict exposure and loginsBind to a management interface or address with -p [address:]port, disable password logins with-s(or for root with-g), disallow root logins with-w, and generate unique host keys per device on first boot instead of shipping one key in the image. Secure boot and a locked bootloader keep those settings from being edited offline; see U-Boot bootloader security.
AI-assisted analysis: what SoftWSP actually runs
SoftWSP's automated scan unpacks a firmware image, identifies Dropbear and the other software components in the file system together with their versions (the same component inventory our firmware SBOM guide describes), and matches each version against CVE records, CISA's KEV catalog and FIRST's EPSS scores. That matching is deterministic: code produces the component, version and CVE list, and the scores come from NVD, KEV and EPSS.
AI's part is the written explanation on top of that matching. It summarises which Dropbear CVEs matched, which are KEV-listed or have a high EPSS score, and what the version evidence was, and every sentence cites the component, version and record it relies on. An engineer reviews every finding before the report is delivered. The judgements this guide describes as manual stay with that engineer: which algorithms and forwarding features the build compiled in, whether the SSH port is reachable, and whether a vendor backport already closes a version-matched CVE. A Debian-style 2022.83 package with backports still matches CVE-2025-47203 on version alone, and the review step is where that becomes a documented "fixed" decision instead of a guess.
For where SSH service review fits in a full assessment, see the OWASP Firmware Security Testing Methodology guide, or device & firmware security services to have a specific image reviewed.
This guide draws on Dropbear's CHANGES file, default_options.h, sysoptions.h and server option help, the Terrapin paper site, the Debian Security Tracker, NVD, CISA's KEV catalog (version 2026.11.09) and FIRST EPSS data dated 2026-11-09, all read directly on 2026-11-10.
Put this guide to work
Frequently asked questions
Is Dropbear affected by the Terrapin attack (CVE-2023-48795)?
Yes, when a connection negotiates chacha20-poly1305. Dropbear's 2024.84 change log (4 April 2024) says "chacha20-poly1305 is the only affected cipher" for Dropbear and adds the "Strict KEX" countermeasure, which only takes effect when both client and server support it. Debian's security tracker notes that ChaCha20-Poly1305 support arrived in Dropbear 2020.79, so older builds are not affected by Terrapin itself, though they carry other CVEs. The Terrapin researchers state that the attack needs an active man-in-the-middle on the network path. NVD scores CVE-2023-48795 at CVSS 3.1 5.9, and it was not in CISA's KEV catalog as of the 2026-11-09 release.
How do I find the Dropbear version in a firmware image?
Two places usually give it away. On a running device, the SSH identification string the server sends first looks like "SSH-2.0-dropbear_2022.83", because Dropbear's sysoptions.h builds it from "SSH-2.0-dropbear" plus "_" and DROPBEAR_VERSION. In an unpacked root filesystem, search the dropbear or dropbearmulti binary for the same string. Vendors can override IDENT_VERSION_PART to hide the version, and distributions backport fixes without changing it, so treat the number as the upstream base version and check vendor or distribution patch records before calling a CVE open or closed.
Which Dropbear CVE should a device maker fix first?
Start with what the build compiles in and what an attacker can reach. On images older than 2016.74 or 2017.75, the pre-authentication format string bug CVE-2016-7406 (NVD 9.8) and the post-authentication double free CVE-2017-9078 (NVD 8.8) come first. On 2024.84 to 2025.88 with multi-user logins, CVE-2025-14282 lets any user who can log in reach unix sockets as root. Terrapin follows when chacha20-poly1305 is enabled and the SSH port is reachable from untrusted networks. CVE-2025-47203 only matters if a device runs dbclient with untrusted hostnames. None of these was in CISA's KEV catalog as of its 2026-11-09 release.
Can I fix Dropbear vulnerabilities without a full upgrade?
Partly. The Terrapin site recommends disabling chacha20-poly1305 and the -etm MAC algorithms as a workaround, which for Dropbear means building with DROPBEAR_CHACHA20POLY1305 set to 0 in localoptions.h. Dropbear's 2025.89 change log names running with "dropbear -j" or building with DROPBEAR_SVR_LOCALSTREAMFWD set to 0 as mitigations for CVE-2025-14282. Memory-safety bugs such as CVE-2016-7406 or CVE-2017-9078 have no configuration workaround, so they need the upstream fix, either a newer release or a backported patch, followed by a rebuild and a re-scan of the image.
Does SoftWSP read Dropbear's compile-time options from my firmware?
SoftWSP's automated scan identifies Dropbear as a component, with its version, from the unpacked firmware file system, and matches that version against CVE, CISA KEV and FIRST EPSS data. AI then writes a plain-language summary that cites the component, version and record behind each finding, and an engineer reviews it. Working out which algorithms and forwarding features a particular build compiled in, and whether a vendor backport already closes a matched CVE, is part of that engineer review, not an automatic verdict.
Sources
- Dropbear SSH: CHANGES (release notes, 2026.94 back to 0.x)
- Dropbear SSH (mkj/dropbear): src/default_options.h
- Dropbear SSH (mkj/dropbear): src/sysoptions.h
- Bäumer, Brinkmann, Schwenk: Terrapin Attack (paper site, FAQ and scanner)
- Debian Security Tracker: CVE-2023-48795
- Debian Security Tracker: CVE-2025-14282
- Debian Security Tracker: CVE-2025-47203
- NIST NVD: CVE-2023-48795
- NIST NVD: CVE-2016-7406
- NIST NVD: CVE-2017-9078
- CISA: Known Exploited Vulnerabilities (KEV) Catalog
About this guide
SoftWSP Firmware Security Desk
Covers the Firmware vulnerabilities & fixes cluster: 104 guides.

In this cluster
Questions about this page?
