Commit Graph

43 Commits

Author SHA1 Message Date
Kevin Darbyshire-Bryant
1ec44baa46 dropbear: bump to 2017.75
- 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://secure.ucc.asn.au/hg/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://secure.ucc.asn.au/hg/dropbear/rev/0d889b068123

Refresh patches, rework 100-pubkey_path.patch to work with new
authorized_keys validation.

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2017-08-31 14:35:11 +02:00
Joseph C. Sible
a6df50bf65 dropbear: enable SHA256 HMACs
The only HMACs currently available use MD5 and SHA1, both of which have known
weaknesses. We already compile in the SHA256 code since we use Curve25519
by default, so there's no significant size penalty to enabling this.

Signed-off-by: Joseph C. Sible <josephcsible@users.noreply.github.com>
2017-08-31 14:33:16 +02:00
Kevin Darbyshire-Bryant
ab78bc85cc dropbear: hide dropbear version
As security precaution and to limit the attack surface based on
the version reported by tools like nmap mask out the dropbear
version so the version is not visible anymore by snooping on the
wire. Version is still visible by 'dropbear -V'

Based on a patch by Hans Dedecker <dedeckeh@gmail.com>

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-08-31 14:32:39 +02:00
Jo-Philipp Wich
815e238ff3 CC: dropbear: security update to 2016.74
- 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.

- Security: dropbearconvert import of OpenSSH keys could run arbitrary code as
  the local dropbearconvert user when parsing malicious key files

- 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.

- Security: dbclient or dropbear server could expose process memory to the
  running user if compiled with DEBUG_TRACE and running with -v

  The security issues were reported by an anonymous researcher working with
  Beyond Security's SecuriTeam Secure Disclosure www.beyondsecurity.com/ssd.html

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-31 08:51:44 +02:00
Jo-Philipp Wich
ca00773e28 CC: dropbear: update to 2016.73
Update the dropbear package to version 2016.73, refresh patches.
The measured .ipk sizes on an x86_64 build are:

  94588 dropbear_2015.71-3_x86_64.ipk
  95316 dropbear_2016.73-1_x86_64.ipk

This is an increase of roughly 700 bytes after compression.

Tested-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-31 08:51:05 +02:00
Hans Dedecker
c1413be493 CC: dropbear: Make utmp and putuline support configurable via seperate config options
Utmp support tracks who is currenlty logged in by logging info to the file /var/run/utmp (supported by busybox)
Putuline support will use the utmp structure to write to the utmp file

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-08-31 08:50:09 +02:00
Hans Dedecker
1b3b93e5da CC: dropbear: Add procd interface triggers when interface config is specified
A dropbear instance having an interface config won't start if the interface is down as no
IP address is available.
Adding interface triggers for each configured interface executing the dropbear reload script
will start the dropbear instance when the interface is up.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-08-31 08:49:25 +02:00
Jo-Philipp Wich
7966cf2265 dropbear: honor CONFIG_TARGET_INIT_PATH
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2017-08-31 08:48:55 +02:00
Hannu Nyman
d6cc49c97f CC: dropbear: update version to 2015.71
Update dropbear to version 2015.71, released on 3 Dec 2015.
Refresh patches.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-08-31 08:47:30 +02:00
Felix Fietkau
db41bcac69 dropbear: enable curve25519 support by default, increases compressed binary size by ~5 kb
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2017-08-31 08:46:43 +02:00
Felix Fietkau
3e107d670c CC: dropbear: split out curve25519 support into a separate config option
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2017-08-31 08:46:10 +02:00
Alexandru Ardelean
cb8e4a76ba CC: dropbear: add respawn param in case dropbear crashes
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-08-31 08:45:39 +02:00
Steven Barth
180384c0a6 CC: dropbear: remove generation and configuration of DSS keys
Signed-off-by: Steven Barth <steven@midlink.org>
2017-08-31 08:44:40 +02:00
Felix Fietkau
9f83a0114e dropbear: disable 3des, cbc mode, dss support, saves about 5k gzipped
While technically required by the RFC, they are usually completely
unused (DSA), or have security issues (3DES, CBC)

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2017-08-31 08:43:58 +02:00
Steven Barth
bff2da1713 CC: dropbear: Disable telnet in favor of passwordless SSH
This enables passworldless login for root via SSH whenever no root
password is set (e.g. after reset, flashing without keeping config
or in failsafe) and removes telnet support alltogether.

Signed-off-by: Steven Barth <steven@midlink.org>
2017-08-31 08:43:09 +02:00
Steven Barth
12a8f2a3d9 CC: dropbear: bump to 2015.68
Signed-off-by: Steven Barth <steven@midlink.org>
2017-08-31 08:42:03 +02:00
Steven Barth
5225254859 dropbear: update to 2015.67
fixes dbclient login into OpenSSH 6.8p1
error: "Bad hostkey signature"

reported on irc, replicated with Arch Linux

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45493 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-18 11:25:01 +00:00
Nicolas Thill
1ee8ef9901 package/*: replace occurences of 'ln -sf' to '$(LN)'
Signed-off-by: Nicolas Thill <nico@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43205 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-06 19:35:34 +00:00
John Crispin
81d9f2d585 scripts: fix wrong usage of '==' operator
[base-files] shell-scripting: fix wrong usage of '==' operator

normally the '==' is used for invoking a regex parser and is a bashism.
all of the fixes just want to compare a string. the used busybox-ash
will silently "ignore" this mistake, but make it portable/clean at least.

this patch does not change the behavior/logic of the scripts.

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42911 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-14 12:21:11 +00:00
Steven Barth
143de7849f dropbear: ensure the interface has an ip-address
Use network_get_ipaddrs_all to get all ip-addresses of an interface. If the
function fails, the interface does not exists or has not any suiteable ip
addresses assigned.

Use the returned ip-address(es) to construct the dropbear listen address.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42857 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-09 07:16:35 +00:00
John Crispin
23bf27fad7 dropbear: add mdns support to the init.d script
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42326 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-29 18:16:41 +00:00
John Crispin
e723b7928a package/*: remove useless explicit set of function returncode
somebody started to set a function returncode in the validation
stuff and everybody copies it, e.g.

myfunction()
{
	fire_command

	return $?
}

a function automatically returns with the last returncode,
so we can safely remove the command 'return $?'. reference:

http://tldp.org/LDP/abs/html/exit-status.html
"The last command executed in the function or script determines the exit status."

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42278 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-25 06:35:50 +00:00
Jonas Gorski
0d96d86bc3 dropbear: restore performance by disabling mips16
Disable MIPS16 to prevent it negatively affecting performance.
Observed was a increase of connection delay from ~6 to ~11 seconds
and a reduction of scp speed from 1.1MB/s to 710kB/s on brcm63xx.

Fixes #15209.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42250 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-21 11:29:04 +00:00
Jonas Gorski
a67d5e1eeb dropbear: fix keepalive more
Add a further upstream commit to more closely match the keepalive
to OpenSSH.

Should now really fix #17523.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42249 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-21 11:29:02 +00:00
Jonas Gorski
8cc51ba777 dropbear: fix keepalive with putty
Don't send SSH_MSG_UNIMPLEMENTED for keepalive responses, which broke
at least putty.

Fixes #17522 / #17523.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42162 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-13 20:49:56 +00:00
Steven Barth
3d227bab23 dropbear: update to 2014.65
Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42131 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-11 13:02:43 +00:00
John Crispin
3b660e4079 dropbear: make missing variables local
Signed-off-by: Reiner Herrmann <reiner@reiner-h.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40914 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-06-02 12:43:16 +00:00
Felix Fietkau
a273f66de7 dropbear: move options.h editing to Build/Configure
fixes incremental build with change to CONFIG_DROPBEAR_ECC
drop --with-shared which is unknown to configure

Patch by Catalin Patulea <cat@vv.carleton.ca>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40300 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-29 17:10:52 +00:00
Felix Fietkau
31c24e7253 dropbear: add options SSHKeepAlive and IdleTimeout.
Without timeout mechanism, if ssh client disconnected without sending
FIN or RST, forked dropbear servers would hang there for
KEX_RETRY_TIMEOUT seconds (8 hours).

TCP keepalive is not implemented in dropbear yet, thus the name
SSHKeepAlive.

300 seconds in this patch is selected from the default value of
ServerAliveInterval for Debian ssh client (See man ssh_config).

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40299 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-29 17:05:35 +00:00
Felix Fietkau
49be87f44e dropbear: fix interface config setting
Patch from #15070

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40298 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-29 16:59:33 +00:00
Felix Fietkau
fa81f88bd4 dropbear: update to 2014.63
Upstream changelog:
https://matt.ucc.asn.au/dropbear/CHANGES

This adds elliptic curve cryptography (ECC) support as an option, disabled
by default.

dropbear mips 34kc uClibc binary size:
before: 161,672 bytes
after, without ECC (default): 164,968
after, with ECC: 198,008

Signed-off-by: Catalin Patulea <cat@vv.carleton.ca>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40297 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-29 16:59:26 +00:00
John Crispin
fdb2563eb3 procd: fixup 2 wrong option types
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38789 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-13 11:07:24 +00:00
John Crispin
a79f9a758e procd: convert services to the new validation api
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38787 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-13 10:49:41 +00:00
Jo-Philipp Wich
9ba3fcdf85 dropbear: add dropbear.nl mirror, provided by dropbear maintainer
Signed-off-by: Catalin Patulea <cat@vv.carleton.ca>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38413 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-15 13:10:32 +00:00
Jo-Philipp Wich
08715f05ef dropbear: update to 2013.59 (released 4 october 2013)
- drop mirror www.mirrors.wiretapped.net (not working anymore)
- drop patch 300-ipv6_addr_port_split.patch, included upstream
- refresh patches
- various upstream changes: http://matt.ucc.asn.au/dropbear/CHANGES

Signed-off-by: Catalin Patulea <cat@vv.carleton.ca>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38356 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-10 14:42:05 +00:00
Luka Perkov
cebf051302 [package] fix various init scripts
Changes include:

* removing unused variables
* replacing spaces with tabs where appropriate
* more consistency with variable declarations

Signed-off-by: Luka Perkov <luka@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38142 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-23 21:58:36 +00:00
John Crispin
d330d9fac4 procd: convert various packages to procd style init.d scripts
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38023 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-17 21:45:30 +00:00
John Crispin
9af7d06947 dropbear: register a config.change trigger
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37245 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-11 17:00:40 +00:00
Felix Fietkau
dd07d18592 dropbear: convert init script to procd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34867 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-22 18:56:13 +00:00
Felix Fietkau
eca53dd739 dropbear: use network_get_device instead of scan_interfaces to get the device name
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34863 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-22 18:55:57 +00:00
Florian Fainelli
46e32ed7fa dropbear: update to 2012.55 and refresh patches
Upstream has a few code cleanups, more eagerly burns sensitive memory and
includes the fix for CVE-2012-0920. Full changelog:
https://matt.ucc.asn.au/dropbear/CHANGES

Local changes:
- Removed PKG_MULTI which is no longer in options.h (even before 2011.54)
- Merged DO_HOST_LOOKUP into 120-openwrt_options.patch
- Removed LD from make opts (now included in TARGET_CONFIGURE_OPTS)
- Removed 400-CVE-2012-0920.patch which is included in 2012.55

Signed-off-by: Catalin Patulea <cat@vv.carleton.ca>
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34496 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-04 16:40:17 +00:00
Hamish Guthrie
a81ef914e0 licensing: Add licensing metadata to many packages
Two new variables are introduces to many packages, namely PKG_LICENSE and
PKG_LICENSE_FILES - there may be more than one license applied to packages,
and these are listed in the PKG_LICENSE variable and separated by spaces.
All relevant license files are also added to the PKG_LICENSE_FILES variable,
also space separated.

The licensing metadata is put into the bin/<platform>/packages/Packages file
for later parsing. A script for that is on it's way!


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33861 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-19 15:34:28 +00:00
Felix Fietkau
abe70b1494 packages: sort network related packages into package/network/
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33688 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-10 12:32:29 +00:00