12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646 |
- 2022.82 - 1 April 2022
- Features and Changes:
- Note >> for compatibility/configuration changes
- - Implemented OpenSSH format private key handling for dropbearconvert.
- Keys can be read in OpenSSH format or the old PEM format.
- >> Keys are now written in OpenSSH format rather than PEM.
- ED25519 support is now correct. DSS keys are still PEM format.
- - Use SHA256 for key fingerprints
- - >> Reworked -v verbose printing, specifying multiple times will increase
- verbosity. -vvvv is equivalent to the old DEBUG_TRACE -v level, it
- can be configured at compile time in localoptions.h (see default_options.h)
- Lower -v options can be used to check connection progress or algorithm
- negotiation.
- Thanks to Hans Harder for the implementation
- localoptions.h DEBUG_TRACE should be set to 4 for the same result as the
- previous DEBUG_TRACE 1.
- - Added server support for U2F/FIDO keys (ecdsa-sk and ed25519-sk) in
- authorized_keys. no-touch-required option isn't allowed yet.
- Thanks to Egor Duda for the implementation
- - autoconf output (configure script etc) is now committed to version control.
- >> It isn't necessary to run "autoconf" any more on a checkout.
- - sha1 will be omitted from the build if KEX/signing/MAC algorithms don't
- require it. Instead sha256 is used for random number generation.
- See sysoptions.h to see which algorithms require which hashes.
- - Set SSH_PUBKEYINFO environment variable based on the authorized_keys
- entry used for auth. The first word of the comment after the key is used
- (must only have characters a-z A-Z 0-9 .,_-+@)
- Patch from Hans Harder, modified by Matt Johnston
- - Let dbclient multihop mode be used with '-J'.
- Patch from Hans Harder
- - Allow home-directory relative paths ~/path for various settings
- and command line options.
- *_PRIV_FILENAME DROPBEAR_PIDFILE SFTPSERVER_PATH MOTD_FILENAME
- Thanks to Begley Brothers Inc
- >> The default DROPBEAR_DEFAULT_CLI_AUTHKEY has now changed, it now needs
- a tilde prefix.
- - LANG environment variable is carried over from the Dropbear server process
- From Maxim Kochetkov
- - Add /usr/sbin and /sbin to $PATH when logging in as root.
- Patch from Raphaël Hertzog
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903403
- - Added client option "-o DisableTrivialAuth". This can be used to prevent
- the server immediately accepting successful authentication (before any auth
- request) which could cause UI confusion and security issues with agent
- forwarding - it isn't clear which host is prompting to use a key.
- Thanks to Manfred Kaiser from Austrian MilCERT
- - Add -q client option to hide remote banner, from Hans Harder
- - Add -e option to pass all server environment variables to child processes.
- This should be used with caution.
- Patch from Roland Vollgraf (github #118)
- - >> Use DSCP for QoS traffic classes. Priority (tty) traffic is now set to
- AF21 "interactive". Previously TOS classes were used, they are not used by
- modern traffic classifiers. Non-tty traffic is left at default priority.
- - >> Disable dh-group1 key exchange by default. It has been disabled server
- side by default since 2018.
- - >> Removed Twofish cipher
- Fixes:
- - Fix flushing channel data when pty was allocated (github #85)
- Data wasn't completely transmitted at channel close.
- Reported and initial patch thanks to Yousong Zhou
- - Dropbear now re-executes itself rather than just forking for each connection
- (only on Linux). This allows ASLR to randomise address space for each
- connection as a security mitigation. It should not have any visible impact
- - if there are any performance impacts in the wild please report it.
- - Check authorized_keys permissions as the user, fixes NFS squash root.
- Patch from Chris Dragan (github #107)
- - A missing home directory is now non-fatal, starting in / instead
- - Fixed IPv6 [address]:port parsing for dbclient -b
- Reported by Fabio Molinari
- - Improve error logging so that they are logged on the server rather than being
- sent to the client over the connection
- - Max window size is increased to 10MB, more graceful fallback if it's invalid.
- - Fix correctness of Dropbear's handling of global requests.
- Patch from Dirkjan Bussink
- - Fix some small bugs found by fuzzers, null pointer dereference crash and leaks
- (post authentication)
- - $HOME variable is used before /etc/passwd when expanding paths such as
- ~/.ssh/id_dropbear (for the client). Patch from Matt Robinson
- - C89 build fixes from Guillaume Picquet
- Infrastructure:
- - Improvements to fuzzers. Added post-auth fuzzer, and a mutator that can
- handle the structure of SSH packet streams. Added cifuzz to run on commits
- and pull requests.
- Thanks to OSS-Fuzz for the tools/clusters and reward funding.
- - Dropbear source tarballs generated by release.sh are now reproducible from a
- Git or Mercurial checkout, they will be identical on any system. Tested
- on ubuntu and macos.
- - Added some integration testing using pytest. Currently this has tests
- for various channel handling edge cases, ASLR fork randomisation,
- dropbearconvert, and SSH_PUBKEYINFO
- - Set up github actions. This runs the pytest suite and other checks.
- - build matrix includes c89, dropbearmulti, bundled libtom, macos, DEBUG_TRACE
- - test for configure script regeneration
- - build a tarball for external reproducibility
- 2020.81 - 29 October 2020
- - Fix regression in 2020.79 which prevented connecting with some SSH
- implementations. Increase MAX_PROPOSED_ALGO to 50, and print a log
- message if the limit is hit. This fixes interoperability with sshj
- library (used by PyCharm), and GoAnywhere.
- Reported by Pirmin Walthert and Piotr Jurkiewicz
- - Fix building with non-GCC compilers, reported by Kazuo Kuroi
- - Fix potential long delay in dbclient, found by OSS Fuzz
- - Fix null pointer dereference crash, found by OSS Fuzz
- - libtommath now uses the same random source as Dropbear (in 2020.79
- and 2020.80 used getrandom() separately)
- - Some fuzzing improvements, start of a dbclient fuzzer
- 2020.80 - 26 June 2020
- - Don't block authorized_keys logins with no-X11-forwarding or no-agent-forwarding
- restrictions when X11 or agent forwarding are disabled at compile time.
- This is more of a problem now X11 is disabled by default, reported by Guilhem Moulin
- - Reduce binary size by 4kB (x64) when using bundled libtommath
- - Define GNU_SOURCE for getrandom() on uclibc, reported by Laurent Bercot and
- Fabrice Fontaine
- - Improve checking libtomcrypt version compatibility
- - Add some style notes to DEVELOPING.md
- 2020.79 - 15 June 2020
- - Support ed25519 hostkeys and authorized_keys, many thanks to Vladislav Grishenko.
- This also replaces curve25519 with a TweetNaCl implementation that reduces code size.
- - Add chacha20-poly1305 authenticated cipher. This will perform faster than AES
- on many platforms. Thanks to Vladislav Grishenko
- - Support using rsa-sha2 signatures. No changes are needed to hostkeys/authorized_keys
- entries, existing RSA keys can be used with the new signature format (signatures
- are ephemeral within a session). Old ssh-rsa signatures will no longer
- be supported by OpenSSH in future so upgrading is recommended.
- - Use getrandom() call on Linux to ensure sufficient entropy has been gathered at startup.
- Dropbear now avoids reading from the random source at startup, instead waiting until
- the first connection. It is possible that some platforms were running without enough
- entropy previously, those could potentially block at first boot generating host keys.
- The dropbear "-R" option is one way to avoid that.
- - Upgrade libtomcrypt to 1.18.2 and libtommath to 1.2.0, many thanks to Steffen Jaeckel for
- updating Dropbear to use the current API. Dropbear's configure script will check
- for sufficient system library versions, otherwise using the bundled versions.
- - CBC ciphers, 3DES, hmac-sha1-96, and x11 forwarding are now disabled by default.
- They can be set in localoptions.h if required.
- Blowfish has been removed.
- - Support AES GCM, patch from Vladislav Grishenko. This is disabled by default,
- Dropbear doesn't currently use hardware accelerated AES.
- - Added an API for specifying user public keys as an authorized_keys replacement.
- See pubkeyapi.h for details, thanks to Fabrizio Bertocci
- - Fix idle detection clashing with keepalives, thanks to jcmathews
- - Include IP addresses in more early exit messages making it easier for fail2ban
- processing. Patch from Kevin Darbyshire-Bryant
- - scp fix for CVE-2018-20685 where a server could modify name of output files
- - SSH_ORIGINAL_COMMAND is set for "dropbear -c" forced command too
- - Fix writing key files on systems without hard links, from Matt Robinson
- - Compatibility fixes for IRIX from Kazuo Kuroi
- - Re-enable printing MOTD by default, was lost moving from options.h. Thanks to zciendor
- - Call fsync() is called on parent directory when writing key files to ensure they are flushed
- - Fix "make install" for manpages in out-of-tree builds, from Gabor Z. Papp
- - Some notes are added in DEVELOPING.md
- 2019.78 - 27 March 2019
- - Fix dbclient regression in 2019.77. After exiting the terminal would be left
- in a bad state. Reported by Ryan Woodsmall
-
- 2019.77 - 23 March 2019
- - Fix server -R option with ECDSA - only advertise one key size which will be accepted.
- Reported by Peter Krefting, 2018.76 regression.
- - Fix server regression in 2018.76 where multiple client -R forwards were all forwarded
- to the first destination. Reported by Iddo Samet.
- - Make failure delay more consistent to avoid revealing valid usernames, set server password
- limit of 100 characters. Problem reported by usd responsible disclosure team
- - Change handling of failed authentication to avoid disclosing valid usernames,
- CVE-2018-15599.
- - Fix dbclient to reliably return the exit code from the remote server.
- Reported by W. Mike Petullo
- - Fix export of 521-bit ECDSA keys, from Christian Hohnstädt
- - Add -o Port=xxx option to work with sshfs, from xcko
- - Merged fuzzing code, see FUZZER-NOTES.md
- - Add a DROPBEAR_SVR_MULTIUSER=0 compile option to run on
- single-user Linux kernels (CONFIG_MULTIUSER disabled). From Patrick Stewart
- - Increase allowed username to 100 characters, reported by W. Mike Petullo
- - Update config.sub and config.guess, should now work with RISC-V
- - Cygwin compile fix from karel-m
- - Don't require GNU sed (accidentally in 2018.76), reported by Samuel Hsu
- - Fix for IRIX and writev(), reported by Kazuo Kuroi
- - Other fixes and cleanups from François Perrad, Andre McCurdy, Konstantin Demin,
- Michael Jones, Pawel Rapkiewicz
- 2018.76 - 27 February 2018
- > > > Configuration/compatibility changes
- IMPORTANT
- Custom configuration is now specified in localoptions.h rather than options.h
- Available options and defaults can be seen in default_options.h
- To migrate your configuration, compare your customised options.h against the
- upstream options.h from your relevant version. Any customised options should
- be put in localoptions.h in the build directory.
- - "configure --enable-static" should now be used instead of "make STATIC=1"
- This will avoid 'hardened build' flags that conflict with static binaries
- - Set 'hardened build' flags by default if supported by the compiler.
- These can be disabled with configure --disable-harden if needed.
- -Wl,-pie
- -Wl,-z,now -Wl,-z,relro
- -fstack-protector-strong
- -D_FORTIFY_SOURCE=2
- # spectre v2 mitigation
- -mfunction-return=thunk
- -mindirect-branch=thunk
- Spectre patch from Loganaden Velvindron
- - "dropbear -r" option for hostkeys no longer attempts to load the default
- hostkey paths as well. If desired these can be specified manually.
- Patch from CamVan Nguyen
- - group1-sha1 key exchange is disabled in the server by default since
- the fixed 1024-bit group may be susceptible to attacks
- - twofish ciphers are now disabled in the default configuration
- - Default generated ECDSA key size is now 256 (rather than 521)
- for better interoperability
- - Minimum RSA key length has been increased to 1024 bits
- > > > Other features and fixes
- - Add runtime -T max_auth_tries option from Kevin Darbyshire-Bryant
- - Add 'dbclient -J &fd' to allow dbclient to connect over an existing socket.
- See dbclient manpage for a socat example. Patch from Harald Becker
- - Add "-c forced_command" option. Patch from Jeremy Kerr
- - Restricted group -G option added with patch from stellarpower
- - Support server-chosen TCP forwarding ports, patch from houseofkodai
- - Allow choosing outgoing address for dbclient with -b [bind_address][:bind_port]
- Patch from houseofkodai
- - Makefile will now rebuild object files when header files are modified
- - Add group14-256 and group16 key exchange options
- - curve25519-sha256 also supported without @libssh.org suffix
- - Update bundled libtomcrypt to 1.18.1, libtommath to 1.0.1
- This fixes building with some recent versions of clang
- - Set PAM_RHOST which is needed by modules such as pam_abl
- - Improvements to DSS and RSA public key validation, found by OSS-Fuzz.
- - Don't exit when an authorized_keys file has malformed entries. Found by OSS-Fuzz
- - Fix null-pointer crash with malformed ECDSA or DSS keys. Found by OSS-Fuzz
- - Numerous code cleanups and small issues fixed by Francois Perrad
- - Test for pkt_sched.h rather than SO_PRIORITY which was problematic with some musl
- platforms. Reported by Oliver Schneider and Andrew Bainbridge
- - Fix some platform portability problems, from Ben Gardner
- - Add EXEEXT filename suffix for building dropbearmulti, from William Foster
- - Support --enable-<option> properly for configure, from Stefan Hauser
- - configure have_openpty result can be cached, from Eric Bénard
- - handle platforms that return close() < -1 on failure, from Marco Wenzel
- - Build and configuration cleanups from Michael Witten
- - Fix libtomcrypt/libtommath linking order, from Andre McCurdy
- - Fix old Linux platforms that have SYS_clock_gettime but not CLOCK_MONOTONIC
- - Update curve25519-donna implementation to current version
- 2017.75 - 18 May 2017
- - Security: Fix double-free in server TCP listener cleanup
- A double-free in the server could be triggered by an authenticated user if
- dropbear is running with -a (Allow connections to forwarded ports from any host)
- This could potentially allow arbitrary code execution as root by an authenticated user.
- Affects versions 2013.56 to 2016.74. Thanks to Mark Shepard for reporting the crash.
- CVE-2017-9078 https://hg.ucc.asn.au/dropbear/rev/c8114a48837c
- - Security: Fix information disclosure with ~/.ssh/authorized_keys symlink.
- Dropbear parsed authorized_keys as root, even if it were a symlink. The fix
- is to switch to user permissions when opening authorized_keys
- A user could symlink their ~/.ssh/authorized_keys to a root-owned file they
- couldn't normally read. If they managed to get that file to contain valid
- authorized_keys with command= options it might be possible to read other
- contents of that file.
- This information disclosure is to an already authenticated user.
- Thanks to Jann Horn of Google Project Zero for reporting this.
- CVE-2017-9079 https://hg.ucc.asn.au/dropbear/rev/0d889b068123
- - Generate hostkeys with dropbearkey atomically and flush to disk with fsync
- Thanks to Andrei Gherzan for a patch
- - Fix out of tree builds with bundled libtom
- Thanks to Henrik Nordström and Peter Krefting for patches.
- 2016.74 - 21 July 2016
- - Security: Message printout was vulnerable to format string injection.
- If specific usernames including "%" symbols can be created on a system
- (validated by getpwnam()) then an attacker could run arbitrary code as root
- when connecting to Dropbear server.
- A dbclient user who can control username or host arguments could potentially
- run arbitrary code as the dbclient user. This could be a problem if scripts
- or webpages pass untrusted input to the dbclient program.
- CVE-2016-7406
- https://hg.ucc.asn.au/dropbear/rev/b66a483f3dcb
- - Security: dropbearconvert import of OpenSSH keys could run arbitrary code as
- the local dropbearconvert user when parsing malicious key files
- CVE-2016-7407
- https://hg.ucc.asn.au/dropbear/rev/34e6127ef02e
- - Security: dbclient could run arbitrary code as the local dbclient user if
- particular -m or -c arguments are provided. This could be an issue where
- dbclient is used in scripts.
- CVE-2016-7408
- https://hg.ucc.asn.au/dropbear/rev/eed9376a4ad6
- - Security: dbclient or dropbear server could expose process memory to the
- running user if compiled with DEBUG_TRACE and running with -v
- CVE-2016-7409
- https://hg.ucc.asn.au/dropbear/rev/6a14b1f6dc04
- The security issues were reported by an anonymous researcher working with
- Beyond Security's SecuriTeam Secure Disclosure www.beyondsecurity.com/ssd.html
- - Fix port forwarding failure when connecting to domains that have both
- IPv4 and IPv6 addresses. The bug was introduced in 2015.68
- - Fix 100% CPU use while waiting for rekey to complete. Thanks to Zhang Hui P
- for the patch
- 2016.73 - 18 March 2016
- - Support syslog in dbclient, option -o usesyslog=yes. Patch from Konstantin Tokarev
- - Kill a proxycommand when dbclient exits, patch from Konstantin Tokarev
- - Option to exit when a TCP forward fails, patch from Konstantin Tokarev
- - New "-o" option parsing from Konstantin Tokarev. This allows handling some extra options
- in the style of OpenSSH, though implementing all OpenSSH options is not planned.
- - Fix crash when fallback initshells() is used, reported by Michael Nowak and Mike Tzou
- - Allow specifying commands eg "dropbearmulti dbclient ..." instead of symlinks
- - Various cleanups for issues found by a lint tool, patch from Francois Perrad
- - Fix tab indent consistency, patch from Francois Perrad
- - Fix issues found by cppcheck, reported by Mike Tzou
- - Use system memset_s() or explicit_bzero() if available to clear memory. Also make
- libtomcrypt/libtommath routines use that (or Dropbear's own m_burn()).
- - Prevent scp failing when the local user doesn't exist. Based on patch from Michael Witten.
- - Improved Travis CI test running, thanks to Mike Tzou
- - Improve some code that was flagged by Coverity and Fortify Static Code Analyzer
- 2016.72 - 9 March 2016
- - Validate X11 forwarding input. Could allow bypass of authorized_keys command= restrictions,
- found by github.com/tintinweb. Thanks for Damien Miller for a patch. CVE-2016-3116
- https://hg.ucc.asn.au/dropbear/rev/a3e8389e01ff
- 2015.71 - 3 December 2015
- - Fix "bad buf_incrpos" when data is transferred, broke in 2015.69
- - Fix crash on exit when -p address:port is used, broke in 2015.68, thanks to
- Frank Stollenwerk for reporting and investigation
- - Fix building with only ENABLE_CLI_REMOTETCPFWD given, patch from Konstantin Tokarev
- - Fix bad configure script test which didn't work with dash shell, patch from Juergen Daubert,
- broke in 2015.70
- - Fix server race condition that could cause sessions to hang on exit,
- https://github.com/robotframework/SSHLibrary/issues/128
- 2015.70 - 26 November 2015
- - Fix server password authentication on Linux, broke in 2015.69
- 2015.69 - 25 November 2015
- - Fix crash when forwarded TCP connections fail to connect (bug introduced in 2015.68)
- - Avoid hang on session close when multiple sessions are started, affects Qt Creator
- Patch from Andrzej Szombierski
- - Reduce per-channel memory consumption in common case, increase default
- channel limit from 100 to 1000 which should improve SOCKS forwarding for modern
- webpages
- - Handle multiple command line arguments in a single flag, thanks to Guilhem Moulin
- - Manpage improvements from Guilhem Moulin
- - Build fixes for Android from Mike Frysinger
- - Don't display the MOTD when an explicit command is run from Guilhem Moulin
- - Check curve25519 shared secret isn't zero
- 2015.68 - Saturday 8 August 2015
- - Reduce local data copying for improved efficiency. Measured 30%
- increase in throughput for connections to localhost
- - Forwarded TCP ports connect asynchronously and try all available addresses
- (IPv4, IPv6, round robin DNS)
- - Fix all compile warnings, many patches from Gaël Portay
- Note that configure with -Werror may not be successful on some platforms (OS X)
- and some configuration options may still result in unused variable
- warnings.
- - Use TCP Fast Open on Linux if available. Saves a round trip at connection
- to hosts that have previously been connected.
- Needs a recent Linux kernel and possibly "sysctl -w net.ipv4.tcp_fastopen=3"
- Client side is disabled by default pending further compatibility testing
- with networks and systems.
- - Increase maximum command length to 9000 bytes
- - Free memory before exiting, patch from Thorsten Horstmann. Useful for
- Dropbear ports to embedded systems and for checking memory leaks
- with valgrind. Only partially implemented for dbclient.
- This is disabled by default, enable with DROPBEAR_CLEANUP in sysoptions.h
- - DROPBEAR_DEFAULT_CLI_AUTHKEY setting now always prepends home directory unless
- there is a leading slash (~ isn't treated specially)
- - Fix small ECC memory leaks
- - Tighten validation of Diffie-Hellman parameters, from Florent Daigniere of
- Matta Consulting. Odds of bad values are around 2**-512 -- improbable.
- - Twofish-ctr cipher is supported though disabled by default
- - Fix pre-authentication timeout when waiting for client SSH-2.0 banner, thanks
- to CL Ouyang
- - Fix null pointer crash with restrictions in authorized_keys without a command, patch from
- Guilhem Moulin
- - Ensure authentication timeout is handled while reading the initial banner,
- thanks to CL Ouyang for finding it.
- - Fix null pointer crash when handling bad ECC keys. Found by afl-fuzz
- 2015.67 - Wednesday 28 January 2015
- - Call fsync() after generating private keys to ensure they aren't lost if a
- reboot occurs. Thanks to Peter Korsgaard
- - Disable non-delayed zlib compression by default on the server. Can be
- enabled if required for old clients with DROPBEAR_SERVER_DELAY_ZLIB
- - Default client key path ~/.ssh/id_dropbear
- - Prefer stronger algorithms by default, from Fedor Brunner.
- AES256 over 3DES
- Diffie-hellman group14 over group1
- - Add option to disable CBC ciphers.
- - Disable twofish in default options.h
- - Enable sha2 HMAC algorithms by default, the code was already required
- for ECC key exchange. sha1 is the first preference still for performance.
- - Fix installing dropbear.8 in a separate build directory, from Like Ma
- - Allow configure to succeed if libtomcrypt/libtommath are missing, from Elan Ruusamäe
- - Don't crash if ssh-agent provides an unknown type of key. From Catalin Patulea
- - Minor bug fixes, a few issues found by Coverity scan
- 2014.66 - Thursday 23 October 2014
- - Use the same keepalive handling behaviour as OpenSSH. This will work better
- with some SSH implementations that have different behaviour with unknown
- message types.
- - Don't reply with SSH_MSG_UNIMPLEMENTED when we receive a reply to our own
- keepalive message
- - Set $SSH_CLIENT to keep bash happy, patch from Ryan Cleere
- - Fix wtmp which broke since 2013.62, patch from Whoopie
- 2014.65 - Friday 8 August 2014
- - Fix 2014.64 regression, server session hang on exit with scp (and probably
- others), thanks to NiLuJe for tracking it down
- - Fix 2014.64 regression, clock_gettime() error handling which broke on older
- Linux kernels, reported by NiLuJe
- - Fix 2014.64 regression, writev() could occassionally fail with EAGAIN which
- wasn't caught
- - Avoid error message when trying to set QoS on proxycommand or multihop pipes
- - Use /usr/bin/xauth, thanks to Mike Frysinger
- - Don't exit the client if the local user entry can't be found, thanks to iquaba
- 2014.64 - Sunday 27 July 2014
- - Fix compiling with ECDSA and DSS disabled
- - Don't exit abruptly if too many outgoing packets are queued for writev(). Patch
- thanks to Ronny Meeus
- - The -K keepalive option now behaves more like OpenSSH's "ServerAliveInterval".
- If no response is received after 3 keepalives then the session is terminated. This
- will close connections faster than waiting for a TCP timeout.
- - Rework TCP priority setting. New settings are
- if (connecting || ptys || x11) tos = LOWDELAY
- else if (tcp_forwards) tos = 0
- else tos = BULK
- Thanks to Catalin Patulea for the suggestion.
- - Improve handling of many concurrent new TCP forwarded connections, should now
- be able to handle as many as MAX_CHANNELS. Thanks to Eduardo Silva for reporting
- and investigating it.
- - Make sure that exit messages from the client are printed, regression in 2013.57
- - Use monotonic clock where available, timeouts won't be affected by system time
- changes
- - Add -V for version
- 2014.63 - Wednesday 19 February 2014
- - Fix ~. to terminate a client interactive session after waking a laptop
- from sleep.
- - Changed port separator syntax again, now using host^port. This is because
- IPv6 link-local addresses use %. Reported by Gui Iribarren
- - Avoid constantly relinking dropbearmulti target, fix "make install"
- for multi target, thanks to Mike Frysinger
- - Avoid getting stuck in a loop writing huge key files, reported by Bruno
- Thomsen
- - Don't link dropbearkey or dropbearconvert to libz or libutil,
- thanks to Nicolas Boos
- - Fix linking -lcrypt on systems without /usr/lib, thanks to Nicolas Boos
- - Avoid crash on exit due to cleaned up keys before last packets are sent,
- debugged by Ronald Wahl
- - Fix a race condition in rekeying where Dropbear would exit if it received a
- still-in-flight packet after initiating rekeying. Reported by Oliver Metz.
- This is a longstanding bug but is triggered more easily since 2013.57
- - Fix README for ecdsa keys, from Catalin Patulea
- - Ensure that generated RSA keys are always exactly the length
- requested. Previously Dropbear always generated N+16 or N+15 bit keys.
- Thanks to Unit 193
- - Fix DROPBEAR_CLI_IMMEDIATE_AUTH mode which saves a network round trip if the
- first public key succeeds. Still not enabled by default, needs more
- compatibility testing with other implementations.
- - Fix for port 0 forwarding in the client and port forwarding with Apache MINA SSHD. Thanks to
- - Fix for bad system linux/pkt-sched.h header file with older Linux
- kernels, from Steve Dover
- - Fix signal handlers so that errno is saved, thanks to Erik Ahlén for a patch
- and Mark Wickham for independently spotting the same problem.
- 2013.62 - Tuesday 3 December 2013
- - Disable "interactive" QoS connection options when a connection doesn't
- have a PTY (eg scp, rsync). Thanks to Catalin Patulea for the patch.
- - Log when a hostkey is generated with -R, fix some bugs in handling server
- hostkey commandline options
- - Fix crash in Dropbearconvert and 521 bit key, reported by NiLuJe
- - Update config.guess and config.sub again
- 2013.61test - Thursday 14 November 2013
- - Default generated RSA key size changed from 1024 to 2048 bits
- - ECC (elliptic curve) support. Supports ECDSA hostkeys (requires new keys to
- be generated) and ECDH for setting up encryption keys (no intervention
- required). This is significantly faster.
- - curve25519-sha256@libssh.org support for setting up encryption keys. This is
- another elliptic curve mode with less potential of NSA interference in
- algorithm parameters. curve25519-donna code thanks to Adam Langley
- - -R option to automatically generate hostkeys. This is recommended for
- embedded platforms since it allows the system random number device
- /dev/urandom a longer startup time to generate a secure seed before the
- hostkey is required.
- - Compile fixes for old vendor compilers like Tru64 from Daniel Richard G.
- - Make authorized_keys handling more robust, don't exit encountering
- malformed lines. Thanks to Lorin Hochstein and Mark Stillwell
- 2013.60 - Wednesday 16 October 2013
- - Fix "make install" so that it doesn't always install to /bin and /sbin
- - Fix "make install MULTI=1", installing manpages failed
- - Fix "make install" when scp is included since it has no manpage
- - Make --disable-bundled-libtom work
- 2013.59 - Friday 4 October 2013
- - Fix crash from -J command
- Thanks to Lluís Batlle i Rossell and Arnaud Mouiche for patches
- - Avoid reading too much from /proc/net/rt_cache since that causes
- system slowness.
- - Improve EOF handling for half-closed connections
- Thanks to Catalin Patulea
- - Send a banner message to report PAM error messages intended for the user
- Patch from Martin Donnelly
- - Limit the size of decompressed payloads, avoids memory exhaustion denial
- of service
- Thanks to Logan Lamb for reporting and investigating it. CVE-2013-4421
- https://hg.ucc.asn.au/dropbear/rev/0bf76f54de6f
- - Avoid disclosing existence of valid users through inconsistent delays
- Thanks to Logan Lamb for reporting. CVE-2013-4434
- https://hg.ucc.asn.au/dropbear/rev/d7784616409a
- - Update config.guess and config.sub for newer architectures
- - Avoid segfault in server for locked accounts
- - "make install" now installs manpages
- dropbearkey.8 has been renamed to dropbearkey.1
- manpage added for dropbearconvert
- - Get rid of one second delay when running non-interactive commands
- 2013.58 - Thursday 18 April 2013
- - Fix building with Zlib disabled, thanks to Hans Harder and cuma@freetz
- - Use % as a separator for ports, fixes scp in multihop mode, from Hans Harder
- - Reject logins for other users when running as non-root, from Hans Harder
- - Disable client immediate authentication request by default, it prevents
- passwordless logins from working
- 2013.57 - Monday 15 April 2013
- - Decreased connection setup time particularly with high latency connections,
- the number of round trips has been reduced for both client and server.
- CPU time hasn't been changed.
- - Client will send an initial key exchange guess to save a round trip.
- Dropbear implements an extension kexguess2@matt.ucc.asn.au to allow the first
- packet guess to succeed in wider circumstances than the standard behaviour.
- When communicating with other implementations the standard behaviour is used.
- - Client side: when public key or password authentication with
- $DROPBEAR_PASSWORD is used an initial authentication request will
- be sent immediately rather than querying the list of available methods.
- This behaviour is enabled by CLI_IMMEDIATE_AUTH option (on by default),
- please let the Dropbear author know if it causes any interoperability
- problems.
- - Implement client escape characters ~. (terminate session) and
- ~^Z (background session)
- - Server will more reliably clean up utmp when connection is closed, reported by
- Mattias Walström
- - Don't crash if /dev/urandom isn't writable (RHEL5), thanks to Scott Case
- - Add "-y -y" client option to skip host key checking, thanks to Hans Harder
- - scp didn't work properly on systems using vfork(), thanks to Frank Van Uffelen
- - Added IUTF8 terminal mode support (Linux and Mac OS). Not standardised yet
- though probably will be soon
- - Some verbose DROPBEAR_TRACE output is now hidden unless $DROPBEAR_TRACE2
- enviroment variable is set
- - Fix using asymmetric MAC algorithms (broke in )
- - Renamed configure.in to configure.ac to quieten autoconf, from Mike Frysinger
- 2013.56 - Thursday 21 March 2013
- - Allow specifying cipher (-c) and MAC (-m) lists for dbclient
- - Allow using 'none' cipher or MAC (off by default, use options.h). Encryption
- is used during authentication then disabled, similar to OpenSSH HPN mode
- - Allow a user in immediately if the account has a blank password and blank
- passwords are enabled
- - Include a few extra sources of entropy from /proc on Linux, hash private keys
- as well. Dropbear will also write gathered entropy back into /dev/urandom
- - Added hmac-sha2-256 and hmac-sha2-512 support (off by default, use options.h)
- - Don't sent bad address "localhost" for -R forward connections,
- reported by Denis Bider
- - Add "-B" runtime option to allow blank passwords
- - Allow using IPv6 bracket notation for addresses in server "-p" option, from Ben Jencks
- - A few improvements for Android from Reimar Döffinger
- - Fix memory leak for TCP forwarded connections to hosts that timed out,
- reported by Norbert Benczúr. Appears to be a very long-standing bug.
- - Fix "make clean" for out of tree builds
- - Fix compilation when ENABLE_{SVR,CLI}_AGENTFWD are unset
- 2012.55 - Wednesday 22 February 2012
- - Security: Fix use-after-free bug that could be triggered if command="..."
- authorized_keys restrictions are used. Could allow arbitrary code execution
- or bypass of the command="..." restriction to an authenticated user.
- This bug affects releases 0.52 onwards. Ref CVE-2012-0920.
- Thanks to Danny Fullerton of Mantor Organization for reporting
- the bug.
- https://hg.ucc.asn.au/dropbear/rev/818108bf7749
- - Compile fix, only apply IPV6 socket options if they are available in headers
- Thanks to Gustavo Zacarias for the patch
- - Overwrite session key memory on exit
- - Fix minor memory leak in unusual PAM authentication configurations.
- Thanks to Stathis Voukelatos
- - Other small code cleanups
- 2011.54 - Tuesday 8 November 2011
- - Building statically works again, broke in 0.53 and 0.53.1
- - Fix crash when forwarding with -R
- - Fixed various leaks found by Klocwork analysis software, thanks to them for
- running it
- - Set IPTOS_LOWDELAY for IPv6, thanks to Dave Taht
- - Bind to sockets with IPV6_V6ONLY so that it works properly on systems
- regardless of the system-wide setting
- - Added ALLOW_BLANK_PASSWORD option. Dropbear also now allows public key logins
- to accounts with a blank password. Thanks to Rob Landley
- - Fixed case where "-K 1" keepalive for dbclient would cause a SSH_MSG_IGNORE
- packet to be sent
- - Avoid some memory allocations in big number maths routines, improves
- performance slightly
- - Fix symlink target for installdropbearmulti with DESTDIR set, thanks to
- Scottie Shore
- - When requesting server allocated remote ports (-R 0:host:port) print a
- message informing what the port is, thanks to Ali Onur Uyar.
- - New version numbering scheme.
- Source repository has now migrated to Mercurial at
- https://hg.ucc.asn.au/dropbear/graph/default
- 0.53.1 - Wednesday 2 March 2011
- - -lcrypt needs to be before object files for static linking
- - Compile fix when both client and agent forwarding are disabled
- - Fix DROPBEAR_PRNGD_SOCKET mode
- - Don't allow setting zlib memLevel since it seems buggy
- 0.53 - Thurs 24 February 2011
- - Various performance/memory use improvements
- - Client agent forwarding now works, using OpenSSH's ssh-agent
- - Improve robustness of client multihop mode
- - Fix a prime generation bug in bundled libtommath. This is unlikely to have
- generated any bad keys in the wild.
- See
- https://bugzilla.redhat.com/show_bug.cgi?id=615088
- http://bugs.gentoo.org/show_bug.cgi?id=328383
- http://bugs.gentoo.org/show_bug.cgi?id=328409
- - Attempt to build against system libtomcrypt/libtommath if available. This
- can be disabled with ./configure --enable-bundled-libtom
- - Make -K (keepalive) and -I (idle timeout) work together sensibly in the client.
- The idle timeout is no longer reset by SSH_MSG_IGNORE packets.
- - Add diffie-hellman-group14-sha1 key exchange method
- - Compile fix if ENABLE_CLI_PROXYCMD is disabled
- - /usr/bin/X11/xauth is now the default path
- - Client remote forward (-L/-R) arguments now accept a listen address
- - In uClinux avoid trashing the parent process when a session exits
- - Blowfish is now disabled by default since it has large memory usage
- - Add option to change zlib windowbits/memlevel. Use less memory by default
- - DROPBEAR_SMALL_CODE is now disabled by default
- - SSH_ORIGINAL_COMMAND environment variable is set by the server when an
- authorized_keys command is specified.
- - Set SSH_TTY and SSH_CONNECTION environment variables in the server
- - Client banner is now printed to standard error rather than standard output
- - Capitalisation in many log messages has been made consistent. This may affect
- scripts that parse logfiles.
- 0.52 - Wed 12 November 2008
- - Add "netcat-alike" option (-B) to dbclient, allowing Dropbear to tunnel
- standard input/output to a TCP port-forwarded remote host.
- - Add "proxy command" support to dbclient, to allow using a spawned process for
- IO rather than a direct TCP connection. eg
- dbclient remotehost
- is equivalent to
- dbclient -J 'nc remotehost 22' remotehost
- (the hostname is still provided purely for looking up saved host keys)
- - Combine netcat-alike and proxy support to allow "multihop" connections, with
- comma-separated host syntax. Allows running
- dbclient user1@host1,user2@host2,user3@host3
- to end up at host3 via the other two, using SSH TCP forwarding. It's a bit
- like onion-routing. All connections are established from the local machine.
- The comma-separated syntax can also be used for scp/rsync, eg
- rsync -a -e dbclient m@gateway,m2@host,martello:/home/matt/ ~/backup/
- to bounce through a few hosts.
- - Add -I "idle timeout" option (contributed by Farrell Aultman)
- - Allow restrictions on authorized_keys logins such as restricting commands
- to be run etc. This is a subset of those allowed by OpenSSH, doesn't
- yet allow restricting source host.
- - Use vfork() for scp on uClinux
- - Default to PATH=/usr/bin:/bin for shells.
- - Report errors if -R forwarding fails
- - Add counter mode cipher support, which avoids some security problems with the
- standard CBC mode.
- - Support zlib@openssh.com delayed compression for client/server. It can be
- required for the Dropbear server with the '-Z' option. This is useful for
- security as it avoids exposing the server to attacks on zlib by
- unauthenticated remote users, though requires client side support.
- - options.h has been split into options.h (user-changable) and sysoptions.h
- (less commonly changed)
- - Support "dbclient -s sftp" to specify a subsystem
- - Fix a bug in replies to channel requests that could be triggered by recent
- versions of PuTTY
- 0.51 - Thu 27 March 2008
- - Make a copy of password fields rather erroneously relying on getwpnam()
- to be safe to call multiple times
- - If $SSH_ASKPASS_ALWAYS environment variable is set (and $SSH_ASKPASS is
- as well) always use that program, ignoring isatty() and $DISPLAY
- - Wait until a process exits before the server closes a connection, so
- that an exit code can be sent. This fixes problems with exit codes not
- being returned, which could cause scp to fail.
- 0.50 - Wed 8 August 2007
- - Add DROPBEAR_PASSWORD environment variable to specify a dbclient password
- - Use /dev/urandom by default, since that's what everyone does anyway
- - Correct vfork() use for uClinux in scp
- (thanks to Alex Landau)
- - Exit with an exit code of 1 if dropbear can't bind to any ports
- (thanks to Nicolai Ehemann)
- - Improve network performance and add a -W <receive_window> argument for
- adjusting the tradeoff between network performance and memory consumption.
- - Fix a problem where reply packets could be sent during key exchange,
- in violation of the SSH spec. This could manifest itself with connections
- being terminated after 8 hours with new TCP-forward connections being
- established.
- - Add -K <keepalive_time> argument, ensuring that data is transmitted
- over the connection at least every N seconds.
- - dropbearkey will no longer generate DSS keys of sizes other than 1024
- bits, as required by the DSS specification. (Other sizes are still
- accepted for use to provide backwards compatibility).
- 0.49 - Fri 23 February 2007
- - Security: dbclient previously would prompt to confirm a
- mismatching hostkey but wouldn't warn loudly. It will now
- exit upon a mismatch. CVE-2007-1099
- - Compile fixes, make sure that all variable definitions are at the start
- of a scope.
- - Added -P pidfile argument to the server (from Swen Schillig)
- - Add -N dbclient option for "no command"
- - Add -f dbclient option for "background after auth"
- - Add ability to limit binding to particular addresses, use
- -p [address:]port, patch from Max-Gerd Retzlaff.
- - Try to finally fix ss_family compilation problems (for old
- glibc systems)
- - Fix finding relative-path server hostkeys when running daemonized
- - Use $HOME in preference to that from /etc/passwd, so that
- dbclient can still work on broken systems.
- - Fix various issues found by Klocwork defect analysis, mostly memory leaks
- and error-handling. Thanks to Klocwork for their service.
- - Improve building in a separate directory
- - Add compile-time LOG_COMMANDS option to log user commands
- - Add '-y' flag to dbclient to unconditionally accept host keys,
- patch from Luciano Miguel Ferreira Rocha
- - Return immediately for "sleep 10 & echo foo", rather than waiting
- for the sleep to return (pointed out by Rob Landley).
-
- - Avoid hanging after exit in certain cases (such as scp)
- - Various minor fixes, in particular various leaks reported by
- Erik Hovland
-
- - Disable core dumps on startup
- - Don't erase over every single buffer, since it was a bottleneck.
- On systems where it really matters, encrypted swap should be utilised.
- - Read /dev/[u]random only once at startup to conserve kernel entropy
- - Upgrade to LibTomCrypt 1.16 and LibTomMath 0.40
- - Upgrade config.status and config.guess
- 0.48.1 - Sat 11 March 2006
- - Compile fix for scp
- 0.48 - Thurs 9 March 2006
- - Check that the circular buffer is properly empty before
- closing a channel, which could cause truncated transfers
- (thanks to Tomas Vanek for helping track it down)
- - Implement per-IP pre-authentication connection limits
- (after some poking from Pablo Fernandez) CVE-2006-1206
- - Exit gracefully if trying to connect to as SSH v1 server
- (reported by Rushi Lala)
- - Only read /dev/random once at startup when in non-inetd mode
- - Allow ctrl-c to close a dbclient password prompt (may
- still have to press enter on some platforms)
- - Merged in uClinux patch for inetd mode
- - Updated to scp from OpenSSH 4.3p2 - fixes a security issue
- where use of system() could cause users to execute arbitrary
- code through malformed filenames, ref CVE-2006-0225
- 0.47 - Thurs Dec 8 2005
- - SECURITY: fix for buffer allocation error in server code, could potentially
- allow authenticated users to gain elevated privileges. All multi-user systems
- running the server should upgrade (or apply the patch available on the
- Dropbear webpage). CVE-2005-4178
- - Fix channel handling code so that redirecting to /dev/null doesn't use
- 100% CPU.
- - Turn on zlib compression for dbclient.
- - Set "low delay" TOS bit, can significantly improve interactivity
- over some links.
- - Added client keyboard-interactive mode support, allows operation with
- newer OpenSSH servers in default config.
- - Log when pubkey auth fails because of bad ~/.ssh/authorized_keys permissions
- - Improve logging of assertions
- - Added aes-256 cipher and sha1-96 hmac.
- - Fix twofish so that it actually works.
- - Improve PAM prompt comparison.
- - Added -g (dbclient) and -a (dropbear server) options to allow
- connections to listening forwarded ports from remote machines.
- - Various other minor fixes
- - Compile fixes for glibc 2.1 (ss_family vs __ss_family) and NetBSD
- (netinet/in_systm.h needs to be included).
- 0.46 - Sat July 9 2005
- - Fix long-standing bug which caused connections to be closed if an ssh-agent
- socket was no longer available
- - Print a warning if we seem to be blocking on /dev/random
- (suggested by Paul Fox)
- - Fixed a memory leak in DSS code (thanks to Boris Berezovsky for the patch)
- - dbclient -L no longer segfaults, allocate correct buffer size (thanks
- to David Cook for reporting it, and Christopher Faylor for independently
- sending in a patch)
- - Added RSA blinding to signing code (suggested by Dan Kaminsky)
- - Rearranged bignum reading/random generation code
- - Reset the non-blocking status on stderr and stdout as well as stdin,
- fixes a problem where the shell running dbclient will exit (thanks to
- Brent Roman for reporting it)
- - Fix so that all file descriptors are closed so the child shell doesn't
- inherit descriptors (thanks to Linden May for the patch)
- - Change signkey.c to avoid gcc 4 generating incorrect code
- - After both sides of a file descriptor have been shutdown(), close()
- it to avoid leaking descriptors (thanks to Ari Hyttinen for a patch)
- - Update to LibTomCrypt 1.05 and LibTomMath 0.35
- 0.45 - Mon March 7 2005
- - Makefile no longer appends 'static' to statically linked binaries
- - Add optional SSH_ASKPASS support to the client
- - Respect HOST_LOOKUP option
- - Fix accidentally removed "return;" statement which was removed in 0.44
- (causing clients which sent an empty terminal-modes string to fail to
- connect - including pssh, ssh.com, danger hiptop). (patches
- independently from Paul Fox, David Horwitt and Sven-Ola Tuecke)
- - Read "y/n" response for fingerprints from /dev/tty directly so that dbclient
- will work with scp.
- 0.44 - Mon Jan 3 2005
- - SECURITY: Fix for PAM auth so that usernames are logged and conversation
- function responses are allocated correctly - all 0.44test4 users with PAM
- compiled in (not default) are advised to upgrade.
- - Fix calls to getnameinfo() for compatibility with Solaris
- - Pristine compilation works (run 'configure' from a fresh dir and make it
- there)
- - Fixes for compiling with most options disabled.
- - Upgraded to LibTomCrypt 0.99 and LibTomMath 0.32
- - Make sure that zeroing out of values in LTM and LTC won't get optimised away
- - Removed unused functions from loginrec.c
- - /dev/random is now the default entropy source rather than /dev/urandom
- - Logging of IPs in auth success/failure messages for improved greppability
- - Fix dbclient so that "scp -i keyfile" works. (It can handle "-ikeyfile
- properly)
- - Avoid a race in server shell-handling code which prevents the exit-code
- from being returned to the client in some circumstances.
- - Makefile modified so that install target works correctly (doesn't try
- to install "all" binary) - patch from Juergen Daubert
- - Various minor fixes and compile warnings.
- 0.44test4 - Tue Sept 14 2004 21:15:54 +0800
- - Fix inetd mode so it actually loads the hostkeys (oops)
- - Changed DROPBEAR_DEFPORT properly everywhere
- - Fix a small memory leak in the auth code
- - WCOREDUMP is only used on systems which support it (ie not cygwin or AIX)
- - Check (and fail for) cases when we can't negotiate algorithms with the
- remote side successfully (rather than bombing out ungracefully)
- - Handle authorized_keys files without a terminating newline
- - Fiddle the channel receive window size for possibly better performance
- - Added in the PAM authentication code (finally! thanks to Martin Carlsson)
- 0.44test3 - Fri Aug 27 22:20:54 +0800
- - Fixed a bunch of warnings.
- - scp works correctly when passed a username (fix for the dbclient program
- itself as well, "-lmatt" works as well as "-l matt").
- - Remove unrequired debian files
- - Exit with the remote process's return code for dbclient
- - Display stderr messages from the server in the client
- - Add circular buffering to the channel code. This should dramatically reduce
- the amount of backtraffic sent in response to traffic incoming to the
- Dropbear end - improves high-latency performance (ie dialup).
- - Various other related channel-handling fixups.
- - Allow leading lines in the banner when connecting to servers
- - Fixed printing out errors onto the network socket with stderr (for inetd
- mode when using xinetd)
- - Remove obselete documentation
- - Fix a null-pointer exception when trying to free non-existant listeners
- at cleanup.
- - DEBUG_TRACE now only works if you add "-v" to the program commandline
- - Don't leave stdin non-blocking on exit - this caused the parent shell
- of dbclient to close when dbclient exited, for some shells in BusyBox
- - Server connections no longer timeout after 5 minutes
- - Fixed stupid DSS hostkey typo (server couldn't load host keys)
- 0.44test2 - Tues Aug 17 2004 17:43:54 +0800
- - Fix up dropbearmulti targets in the Makefile - symlinks are now created
- - Compile fake-rfc2553 even with dropbearconvert/dropbearkey - this
- allows them to work on platforms without a native getaddrinfo()
- - Create ~/.ssh/known_hosts properly if it doesn't exist
- - Fix basename() function prototype
- - Backport some local changes (more #ifdefs for termcodes.c, a fix for missing
- defines on AIX).
- - Let dbclient be run as "ssh"
- - Initialise mp_ints by default
- 0.44test1 - Sun Aug 16 2005 17:43:54 +0800
- - TESTING RELEASE - this is the first public release of the client codebase,
- so there are sure to be bugs to be found. In addition, if you're just using
- the server portion, the final binary size probably will increase - I'll
- be trying to get it back down in future releases.
- - Dropbear client added - lots of changes to the server code as well to
- generalise things
- - IPv6 support added for client, server, and forwarding
- - New makefile with more generic support for multiple-program binaries
- 0.43 - Fri Jul 16 2004 17:44:54 +0800
- - SECURITY: Don't try to free() uninitialised variables in DSS verification
- code. Thanks to Arne Bernin for pointing out this bug. This is possibly
- exploitable, all users with DSS and pubkey-auth compiled in are advised to
- upgrade. CVE-2004-2486
- - Clean up agent forwarding socket files correctly, patch from Gerrit Pape.
- - Don't go into an infinite loop when portforwarding to servers which don't
- send any initial data/banner. Patch from Nikola Vladov
- - Fix for network vs. host byte order in logging remote TCP ports, also
- from Gerrit Pape.
- - Initialise many pointers to NULL, for general safety. Also checked cleanup
- code for mp_ints (related to security issues above).
- 0.42 - Wed Jun 16 2004 12:44:54 +0800
- - Updated to Gerrit Pape's official Debian subdirectory
- - Fixed bad check when opening /dev/urandom - thanks to Danny Sung.
- - Added -i inetd mode flag, and associated options in options.h . Dropbear
- can be compiled with either normal mode, inetd, or both modes. Thanks
- to Gerrit Pape for basic patch and motivation.
- - Use <dirent.h> rather than <sys/dir.h> for POSIX compliance. Thanks to Bill
- Sommerfield.
- - Fixed a TCP forwarding (client-local, -L style) bug which caused the whole
- session to close if the TCP connection failed. Thanks to Andrew Braund for
- reporting it and helping track it down.
- - Re-enable sigpipe for child processes. Thanks to Gerrit Pape for some
- suggestions, and BSD manpages for a clearer explanation of the behaviour.
- - Added manpages, thanks to Gerrit Pape.
- - Changed license text for LibTomCrypt and LibTomMath.
- - Added strip-static target
- - Fixed a bug in agent-forwarding cleanup handler - would segfault
- (dereferencing a null pointer) if agent forwarding had failed.
- - Fix behaviour of authorized_keys parsing, so larger (>1024 bit) DSA keys will
- work. Thanks to Dr. Markus Waldeck for the report.
- - Fixed local port forwarding code so that the "-j" option will make forwarding
- attempts fail more gracefully.
- - Allow repeated requests in a single session if previous ones fail - this fixes PuTTY and some other SCP clients, which try SFTP, then fall-back to SCP if it
- isn't available. Thanks to Stirling Westrup for the report.
- - Updated to LibTomCrypt 0.96 and LibTomMath 0.30. The AES code now uses
- smaller non-precomputed tables if DROPBEAR_SMALL_CODE is defined in
- options.h, leading to a significant reduction in the binary size.
- 0.41 - Mon Jan 19 2004 22:40:19 +0800
- - Fix in configure so that cross-compiling works, thanks to numerous people for
- reporting and testing
- - Terminal mode parsing now handles empty terminal mode strings (sent by
- Windows ssh.com clients), thanks to Ricardo Derbes for the report
- - Handling is improved for users with no shell specified in /etc/passwd,
- thanks again to Ricardo Derbes
- - Fix for compiling with --disable-syslog, thanks to gordonfh
- - Various minor fixes allow scp to work with irix, thanks to Paul Marinceu for
- fixing it up
- - Use <stropts.h> not <sys/stropts.h>, since the former seems more common
- 0.40 - Tue Jan 13 2004 21:05:19 +0800
- - Remote TCP forwarding (-R) style implemented
- - Local and remote TCP forwarding can each be disabled at runtime (-k and -j
- switches)
- - Fix for problems detecting openpty() with uClibc - many thanks to various
- people for reporting and testing fixes, including (in random order) Cristian
- Ionescu-Idbohrn, James Ewing, Steve Dover, Thomas Lundquist and Frederic
- Lavernhe
- - Improved portability for IRIX, thanks to Paul Marinceu
- - AIX and HPUX portability fixes, thanks to Darren Tucker for patches
- - prngd should now work correctly, thanks to Darren Tucker for the patch
- - scp compilation on systems without strlcpy() is fixed, thanks to Peter
- Jannesen and David Muse for reporting it (independently and simultaneously :)
- - Merged in new LibTomCrypt 0.92 and LibTomMath 0.28
- 0.39 - Tue Dec 16 2003 15:19:19 +0800
- - Better checking of key lengths and parameters for DSS and RSA auth
- - Print fingerprint of keys used for pubkey auth
- - More consistent logging of usernames and IPs
- - Added option to disable password auth (or just for root) at runtime
- - Avoid including bignum functions which don't give much speed benefit but
- take up binary size
- - Added a stripped down version of OpenSSH's scp binary
- - Added additional supporting functions for Irix, thanks to Paul Marinceu
- - Don't check for unused libraries in configure script
- - Removed trailing comma in algorithm lists (thanks to Mihnea Stoenescu)
- - Fixed up channel close handling, always send close packet in response
- (also thanks to Mihnea Stoenescu)
- - Various makefile improvements for cross-compiling, thanks to Friedrich
- Lobenstock and Mihnea Stoenescu
- - Use daemon() function if available (or our own copy) rather than separate
- code (thanks to Frédéric Lavernhe for the report and debugging, and Bernard
- Blackham for his suggestion on what to look at)
- - Fixed up support for first_kex_packet_follows, required to talk to ssh.com
- clients. Thanks to Marian Stagarescu for the bug report.
- - Avoid using MAXPATHLEN, pointer from Ian Morris
- - Improved input sanity checking
- 0.38 - Sat Oct 11 2003 16:28:13 +0800
- - Default hostkey path changed to /etc/dropbear/dropbear_{rsa,dss}_host_key
- rather than /etc/dropbear_{rsa,dss}_host_key
- - Added SMALL and MULTI text files which have info on compiling for multiple
- binaries or small binaries
- - Allow for commandline definition of some options.h settings
- (without warnings)
- - Be more careful handling EINTR
- - More fixes for channel closing
- - Added multi-binary support
- - Improved logging of IPs, now get logged in all cases
- - Don't chew cpu when waiting for version identification string, also
- make sure that we kick off people if they don't auth within 5 minutes.
- - Various small fixes, warnings etc
- - Display MOTD if requested - suggested by
- Trent Lloyd <lathiat at sixlabs.org> and
- Zach White <zwhite at darkstar.frop.org>
- - sftp support works (relies on OpenSSH sftp binary or similar)
- - Added --disable-shadow option (requested by the floppyfw guys)
- 0.37 - Wed Sept 24 2003 19:42:12 +0800
- - Various portability fixes, fixes for Solaris 9, Tru64 5.1, Mac OS X 10.2,
- AIX, BSDs
- - Updated LibTomMath to 0.27 and LibTomCrypt to 0.90
- - Renamed util.{c,h} to dbutil.{c,h} to avoid conflicts with system util.h
- - Added some small changes so it'll work with AIX (plus Linux Affinity).
- Thanks to Shig for them.
- - Improved the closing messages, so a clean exit is "Exited normally"
- - Added some more robust integer/size checking in buffer.c as a backstop for
- integer overflows
- - X11 forwarding fixed for OSX, path for xauth changed to /usr/X11R6/bin/xauth
- - Channel code handles closing more nicely, doesn't sit waiting for an extra
- keystroke on BSD/OSX platforms, and data is flushed fully before closing
- child processes (thanks to
- Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com> for
- pointing that out).
- - Changed "DISABLE_TCPFWD" to "ENABLE_TCPFWD" (and for x11/auth) so
- "disable DISABLE_TCPWD" isn't so confusing.
- - Fix authorized_keys handling (don't crash on too-long keys, and
- use fgetc not getc to avoid strange macro-related issues), thanks to
- Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com>
- and Steve Rodgers <hwstar at cox.net> for reporting and testing.
- - Fixes to the README with regard to uClibc systems, thanks to
- Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com>,
- as well as general improvements to documentation (split README/INSTALL)
- - Fixed up some compilation problems with dropbearconvert/dropbearkey if
- DSS or RSA were disabled, reported by Patrik Karlsson <patrik at cqure.net>
- - Fix double-free bug for hostkeys, reported by
- Vincent Sanders <vince at kyllikki.org>
- - Fix up missing \ns from dropbearconvert help message,
- thanks to Mordy Ovits <movits at bloomberg.com> for the patch
- 0.36 - Tue August 19 2003 12:16:23 +0800
- - Fix uninitialised temporary variable in DSS signing code
- (thanks to Matthew Franz <mdfranz at io.com> for reporting, and the authors
- of Valgrind for making it easy to track down)
- - Fix remote version-string parsing error
- (thanks to Bernard Blackham <bernard at blackham.com.au> for noticing)
- - Improved host-algorithm-matching algorithm in algo.c
- - Decreased MAX_STRING_LEN to a more realistic value
- - Fix incorrect version (0.34) in this CHANGES file for the previous release.
- 0.35 - Sun August 17 2003 05:37:47 +0800
- - Fix for remotely exploitable format string buffer overflow.
- (thanks to Joel Eriksson <je at bitnux.com>)
- 0.34 - Fri August 15 2003 15:10:00 +0800
- - Made syslog optional, both at compile time and as a compile option
- (suggested by Laurent Bercot <ska at skarnet.org>)
- - Fixup for bad base64 parsing in authorized_keys
- (noticed by Davyd Madeley <davyd at zdlcomputing.com>)
- - Added initial tcp forwarding code, only -L (local) at this stage
- - Improved "make install" with DESTDIR and changing ownership seperately,
- don't check for setpgrp on Linux for crosscompiling.
- (from Erik Andersen <andersen at codepoet.org>)
- - More commenting, fix minor compile warnings, make return values more
- consistent etc
- - Various signedness fixes
- - Can listen on multiple ports
- - added option to disable openpty with configure script,
- (from K.-P. Kirchdörfer <kapeka at epost.de>)
- - Various cleanups to bignum code
- (thanks to Tom St Denis <tomstdenis at iahu.ca>)
- - Fix compile error when disabling RSA
- (from Marc Kleine-Budde <kleine-budde at gmx.de>)
- - Other cleanups, splitting large functions for packet and kex handling etc
- 0.33 - Sun June 22 2003 22:24:12 +0800
- - Fixed some invalid assertions in the channel code, fixing the server dying
- when forwarding X11 connections.
- - Add dropbearconvert to convert to/from OpenSSH host keys and Dropbear keys
- - RSA keys now keep p and q parameters for compatibility -- old Dropbear keys
- still work, but can't be converted to OpenSSH etc.
- - Debian packaging directory added, thanks to
- Grahame (grahame at angrygoats.net)
- - 'install' target added to the makefile
- - general tidying, improve consistency of functions etc
- - If RSA or DSS hostkeys don't exist, that algorithm won't be used.
- - Improved RSA and DSS key generation, more efficient and fixed some minor bugs
- (thanks to Tom St Denis for the advice)
- - Merged new versions of LibTomCrypt (0.86) and LibTomMath (0.21)
- 0.32 - Sat May 24 2003 12:44:11 +0800
- - Don't compile unused code from libtomcrypt (test vectors etc)
- - Updated to libtommath 0.17 and libtomcrypt 0.83. New libtommath results
- in smaller binary size, due to not linking unrequired code
- - X11 forwarding added
- - Agent forwarding added (for OpenSSH.com ssh client/agent)
- - Fix incorrect buffer freeing when banners are used
- - Hostname resolution works
- - Various minor bugfixes/code size improvements etc
- 0.31 - Fri May 9 2003 17:57:16 +0800
- - Improved syslog messages - IP logging etc
- - Strip control characters from log messages (specified username currently)
- - Login recording (utmp/wtmp) support, so last/w/who work - taken from OpenSSH
- - Shell is started as a proper login shell, so /etc/profile etc is sourced
- - Ptys work on Solaris (2.8 x86 tested) now
- - Fixed bug in specifying the rsa hostkey
- - Fixed bug in compression code, could trigger if compression resulted in
- larger output than input (uncommon but possible).
- 0.30 - Thu Apr 17 2003 18:46:15 +0800
- - SECURITY: buffer.c had bad checking for buffer increment length - fixed
- - channel code now closes properly on EOF - scp processes don't hang around
- - syslog support added - improved auth/login/failure messages
- - general code tidying, made return codes more consistent
- - Makefile fixed for dependencies and makes libtomcrypt as well
- - Implemented sending SSH_MSG_UNIMPLEMENTED :)
- 0.29 - Wed Apr 9 2003
- - Fixed a stupid bug in 0.28 release, 'newstr = strdup(oldstr)',
- not 'newstr=oldstr'
- 0.28 - Sun Apr 6 2003
- - Initial public release
- Development was started in October 2002
|