Path to this page:
./
security/dropbear,
Small SSH2 server and client, aimed at embedded market
Branch: CURRENT,
Version: 2026.92,
Package name: dropbear-2026.92,
Maintainer: snjThe search for a small Secure Shell server to fit on a laptop with 4
megs ram and no hard disk was fruitless, so Matt Johnston decided to
write his own, and Dropbear is the result. It implements various
features of the SSH 2 protocol, including X11 and Authentication Agent
forwarding. Dropbear is Open Source software, distributed under a
MIT-style license. It includes a server, client and tools to
generate server keys and to convert OpenSSH keys for Dropbear.
Features
* A small memory footprint - Dropbear can compile to a 110kB
statically linked binary with uClibc (and only minimal options
selected).
* Implements X11 forwarding, and authentication-agent forwarding
for OpenSSH clients
* Compatible with OpenSSH ~/.ssh/authorized_keys public key
authentication
* Features can easily be disabled when compiling to save space.
* Preliminary TCP forwarding support (-L style only)
Required to run:[
math/ltm] [
security/libtomcrypt]
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 2327.452 KB
Version history: (Expand)
- (2026-07-07) Updated to version: dropbear-2026.92
- (2026-05-28) Updated to version: dropbear-2026.91
- (2025-12-22) Updated to version: dropbear-2025.89
- (2025-10-24) Package has been reborn
- (2025-10-24) Package deleted from pkgsrc
- (2025-07-24) Updated to version: dropbear-2025.88
CVS history: (Expand)
2026-07-07 10:27:23 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
dropbear: updated to 2026.92
2026.92 - 6 July 2026
Note >> for compatibility/configuration changes
- >> server auth plugins have been deprecated, the configure option
has been renamed to --enable-plugin-deprecated.
Planned to be removed in future.
- >> Two factor auth "-t" has been deprecated, it now requires
a configuration option DEPRECATED_TWO_FACTOR.
Planned to be removed in future.
- Security: server: Don't allow -B (accept blank password) with
-t (two factor auth). If run with -t and -B a user configured with a
blank password would be allowed to log in without pubkey auth.
https://github.com/mkj/dropbear/commit/23ec78285639edf068d86bb96f91cba755039740
Reported by nvidia
- Security: server: Fix parsing of long authorized_keys lines.
The remainder of a long line would be handled as the start of a new line.
In the case where external programs add semi-trusted public keys to
authorized_keys, a crafted key might bypass restrictions such as \
"command=".
https://github.com/mkj/dropbear/commit/8d8e1930b866eb44135ae393a793cbeb03b6b9d6
Reported by nvidia
- >> authorized_keys is now limited to 300 lines.
- server: Prevent unbounded memory use that could be triggered by an
authenticated peer. This would require waiting for the server to
trigger a rekey, so after 8 hours or transferring 1GB data.
Noticed while implementing Sunset SSH, also reported by nvidia
- >> all programs and scp: Disallow following symlinks when writing output
files. This could prevent symlink attacks. Writing keys to an untrusted
directory is not recommended regardless.
- server: "-o gatewayports=no" was treated as yes.
- server: Disallow -t multifactor with plugins.
Plugin interactions with -t are not well tested, plugins may
not correctly handle multiple successful authentications.
Reported by nvidia
- server: ensure that authorized_keys "permitopen" values are valid
ports. 0xffffffff (or signed equivalent) would be accepted as "any port".
- server: fix null pointer segfault when rejecting a stream forward.
Found by oss-fuzz
- dropbearconvert: Fix out of bounds read. dropbearconvert would exit
normally with an error, does not seem exploitable.
Reported by Yiyi Wang, Tsinghua University
- dbclient: Fixed a 1 byte out of bounds write in ssh-askpass handling
(not compiled by default)
- server: Increase pubkey query count. The limit added in
Dropbear 2026.90 was intended to be 15, but it was only 10.
Reported by Rui Salvaterra
- scp: escape terminal control codes from filenames printed by
progress (SCPPROGRESS=1, disabled by default).
Additional fix from Basavaraj S Maneppagol @basavaraj-sm05
- Fix sntrup/mlkem build on old platforms using debian/ directory
packaging. Note that this isn't well maintained, it is better
to use upstream Debian packaging if possible.
- Fix compile warning on 32 bit platforms in sntrup
- Suggest libcrypt-dev for crypt() in configure script if it's missing.
- Increase MAX_HOSTKEYS to 6, suggested by Darren Tucker.
- Allow DROPBEAR_ECC_256/384/521 to be specified in localoptions.h
Patch from Felipe Moura
- Fix typo in missing hostname message, from Robin Neatherway
|
| 2026-05-28 14:35:08 by Adam Ciarcinski | Files touched by this commit (1) |
Log message:
dropbear: add new patch
|
2026-05-28 14:34:50 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
dropbear: updated to 2026.91
2026.91 - 10 May 2026
- scp: Fix test for disallowing -r with existing target directory. The logic
introduced in 2026.90 was incorrect, could also disallow non-recursive
transfers.
- scp: Fix regression in 2026.90 building on older glibc or other libc.
reallocarray() was required, it is no longer needed.
- Compression is now disabled by default for dbclient. A new -o compression option
can enable it. DROPBEAR_CLI_COMPRESSION in localoptions.h can change the default.
Enabling compression can be a security weakness in some
circumstances, as the size of network traffic may leak information
about the encrypted data.
- Added '-Q' argument for dbclient and dropbear to query supported algorithms,
kex sig cipher mac compress
|
2025-12-22 09:41:05 by Adam Ciarcinski | Files touched by this commit (3) |  |
Log message:
dropbear: updated to 2025.89
2025.89 - 16 December 2025
- Security: Avoid privilege escalation via unix stream forwarding in Dropbear
server. Other programs on a system may authenticate unix sockets via
SO_PEERCRED, which would be root user for Dropbear forwarded connections,
allowing root privilege escalation.
Reported by Turistu, and thanks for advice on the fix.
This is tracked as CVE-2025-14282, and affects 2024.84 to 2025.88.
It is fixed by dropping privileges of the dropbear process after
authentication. Unix stream sockets are now disallowed when a
forced command is used, either with authorized_key restrictions or
"dropbear -c command".
In previous affected releases running with "dropbear -j" (will also \
disable
TCP fowarding) or building with localoptions.h/distrooptions.h
"#define DROPBEAR_SVR_LOCALSTREAMFWD 0" is a mitigation.
- Security: Include scp fix for CVE-2019-6111. This allowed
a malicious server to overwrite arbitrary local files.
The missing fix was reported by Ashish Kunwar.
- Server dropping privileges post-auth is enabled by default. This requires
setresgid() support, so some platforms such as netbsd or macos will have to
disable DROPBEAR_SVR_DROP_PRIVS in localoptions.h. Unix stream forwarding is
not available if DROPBEAR_SVR_DROP_PRIVS is disabled.
Remote server TCP socket forwarding will now use OS privileged port
restrictions rather than having a fixed "allow >=1024 for \
non-root" rule.
A future release may implement privilege dropping for netbsd/macos.
- Fix a regression in 2025.87 when RSA and DSS are not built. This would lead
to a crash at startup with bad_bufptr().
Reported by Dani Schmitt and Sebastian Priebe.
- Don't limit channel window to 500MB. That is could cause stuck connections
if peers advise a large window and don't send an increment within 500MB.
Affects SSH.NET https://github.com/sshnet/SSH.NET/issues/1671
Reported by Rob Hague.
- Ignore -g -s when passwords arent enabled. Patch from Norbert Lange.
Ignore -m (disable MOTD), -j/-k (tcp forwarding) when not enabled.
- Report SIGBUS and SIGTRAP signals. Patch from Loïc Mangeonjean.
- Fix incorrect server auth delay. Was meant to be 250-350ms, it was actually
150-350ms or possibly negative (zero). Reported by pickaxprograms.
- Fix building without public key options. Thanks to Konstantin Demin
- Fix building with proxycmd but without netcat. Thanks to Konstantin Demin
- Fix incorrect path documentation for distrooptions, thanks to Todd Zullinger
- Fix SO_REUSEADDR for TCP tests, reported by vt-alt.
|
2025-07-24 15:11:38 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
dropbear: updated to 2025.88
2025.88
- Security: Don't allow dbclient hostname arguments to be interpreted
by the shell.
dbclient hostname arguments with a comma (for multihop) would be
passed to the shell which could result in running arbitrary shell
commands locally. That could be a security issue in situations
where dbclient is passed untrusted hostname arguments.
Now the multihop command is executed directly, no shell is involved.
Thanks to Marcin Nowak for the report, tracked as CVE-2025-47203
- Fix compatibility for htole64 and htole32, regression in 2025.87
Patch from Peter Fichtner to work with old GCC versions, and
patch from Matt Robinson to check different header files.
- Fix building on older compilers or libc that don't support
static_assert(). Regression in 2025.87
- Support ~R in the client to force a key re-exchange.
- Improve strict KEX handling. Dropbear previously would allow other
packets at the end of key exchange prior to receiving the remote
peer's NEWKEYS message, which should be forbidden by strict KEX.
Reported by Fabian Bäumer.
|
| 2025-05-04 15:17:39 by Nia Alarie | Files touched by this commit (5) |
Log message:
dropbear: Various packaging improvements.
- Add rc script.
- Fix support for PKG_SYSCONFDIR.
- Move PKG_OPITONS into options.mk.
|
2025-03-06 12:53:50 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
dropbear: updated to 2025.87
2025.87 - 5 March 2025
Note >> for compatibility/configuration changes
- >> Disable SHA-1 algorithms by default. SHA-1 has known weakness and
most implementations support alternatives.
- Add post-quantum key exchange. These avoid the possibility of current
stored traffic being decrypted using a possible future quantum
computer.
sntrup761 added by Matt Johnston, using sntrup761 implementation from
Daniel J. Bernstein, Chitchanok Chuengsatiansup, Tanja Lange and
Christine van Vredendaal, with integration work from OpenSSH.
ML-KEM added by Loganaden Velvindron, Jaykishan Mutkawoa, Kavish Nadan,
using libcrux, also based on OpenSSH work.
These do increase code size, at least sntrup761 is recommended,
see default_options.h
- >> Decompression is disabled on the server, compression
is still supported.
This avoids attack surface for zlib and saves runtime memory.
- Add -D server flag to specify authorized_keys directory, from Darren Tucker.
- Include remote host in "Login attempt with wrong user" message for \
fail2ban,
patch from MichaIng.
- Workaround writing hostkeys on FUSE filesystem that don't
support hardlinks, reported by elijahr.
- Fix truncated error messages such as host key mismatch.
- >> Preference aes256 ahead of aes128 for the client. chacha20-poly1305
is still first preference.
- Fix ubsan failure in curve25519 code, reported by Steven Bytnar.
Has no effect on execution.
|
2024-11-21 20:06:41 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
dropbear: updated to 2024.86
2024.86 - 22 October 2024
- Fix failure on concurrent channel open/close.
- Print remote host after "Login attempt for nonexistent user" log entry to
assist fail2ban. Fix from MichaIng, the format changed in 2020.79
- Dropbear now exits with exit status 0 on SIGINT/SIGTERM. This is a more
graceful behaviour for "systemctl stop dropbear".
Reported by Ninad Palsule
- New IDENT_VERSION_PART config allows customising some of the SSH version
string. From Marius Dinu
- Fix building SK_KEYS with just one of ECDSA or ED25519
From Marius Dinu
- Fix dbclient "-m help" and "-c help" without a hostname.
Patch from Darren Tucker
- Remove fprintf/gettimeofday from sigchld handler when running with
verbose trace enabled.
- Improved configure help output, from Mikel Olasagasti Uranga
- Compile fix for GNU Hurd, from Guilhem Moulin
- Support running test_aslr without venv, from Guilhem Moulin
- Compilation fixes for older compilers, and better build tests
- Update some test infrastructure versions of python packages,
github actions, and github runner OSes
|