Commit Graph

34230 Commits (05d73a2a73794f8a978300eac75e25deae6d0626)
 

Author SHA1 Message Date
Jo-Philipp Wich 25b34dd97f openssl: update to 1.0.2g (8 CVEs)
CVE-2016-0704

s2_srvr.c overwrite the wrong bytes in the master-key when applying
Bleichenbacher protection for export cipher suites. This provides a
Bleichenbacher oracle, and could potentially allow more efficient variants of
the DROWN attack.

CVE-2016-0703

s2_srvr.c did not enforce that clear-key-length is 0 for non-export ciphers.
If clear-key bytes are present for these ciphers, they *displace* encrypted-key
bytes. This leads to an efficient divide-and-conquer key recovery attack: if
an eavesdropper has intercepted an SSLv2 handshake, they can use the server as
an oracle to determine the SSLv2 master-key, using only 16 connections to the
server and negligible computation. More importantly, this leads to a more
efficient version of DROWN that is effective against non-export ciphersuites,
and requires no significant computation.

CVE-2016-0702

A side-channel attack was found which makes use of cache-bank conflicts on
the Intel Sandy-Bridge microarchitecture which could lead to the recovery of
RSA keys. The ability to exploit this issue is limited as it relies on an
attacker who has control of code in a thread running on the same hyper-
threaded core as the victim thread which is performing decryptions.

CVE-2016-0799

The internal |fmtstr| function used in processing a "%s" format string in
the BIO_*printf functions could overflow while calculating the length of a
string and cause an OOB read when printing very long strings. Additionally
the internal |doapr_outch| function can attempt to write to an OOB memory
location (at an offset from the NULL pointer) in the event of a memory
allocation failure. In 1.0.2 and below this could be caused where the size
of a buffer to be allocated is greater than INT_MAX. E.g. this could be in
processing a very long "%s" format string. Memory leaks can also occur.
The first issue may mask the second issue dependent on compiler behaviour.
These problems could enable attacks where large amounts of untrusted data is
passed to the BIO_*printf functions. If applications use these functions in
this way then they could be vulnerable. OpenSSL itself uses these functions
when printing out human-readable dumps of ASN.1 data. Therefore applications
that print this data could be vulnerable if the data is from untrusted sources.
OpenSSL command line applications could also be vulnerable where they print out
ASN.1 data, or if untrusted data is passed as command line arguments. Libssl is
not considered directly vulnerable. Additionally certificates etc received via
remote connections via libssl are also unlikely to be able to trigger these
issues because of message size limits enforced within libssl.

CVE-2016-0797

In the BN_hex2bn function the number of hex digits is calculated using an int
value |i|. Later |bn_expand| is called with a value of |i * 4|. For large
values of |i| this can result in |bn_expand| not allocating any memory because
|i * 4| is negative. This can leave the internal BIGNUM data field as NULL
leading to a subsequent NULL ptr deref. For very large values of |i|, the
calculation |i * 4| could be a positive value smaller than |i|. In this case
memory is allocated to the internal BIGNUM data field, but it is insufficiently
sized leading to heap corruption. A similar issue exists in BN_dec2bn. This
could have security consequences if BN_hex2bn/BN_dec2bn is ever called by user
applications with very large untrusted hex/dec data. This is anticipated to be
a rare occurrence. All OpenSSL internal usage of these functions use data that
is not expected to be untrusted, e.g. config file data or application command
line arguments. If user developed applications generate config file data based
on untrusted data then it is possible that this could also lead to security
consequences. This is also anticipated to be rare.

CVE-2016-0798

The SRP user database lookup method SRP_VBASE_get_by_user had confusing memory
management semantics; the returned pointer was sometimes newly allocated, and
sometimes owned by the callee. The calling code has no way of distinguishing
these two cases. Specifically, SRP servers that configure a secret seed to hide
valid login information are vulnerable to a memory leak: an attacker connecting
with an invalid username can cause a memory leak of around 300 bytes per
connection. Servers that do not configure SRP, or configure SRP but do not
configure a seed are not vulnerable. In Apache, the seed directive is known as
SSLSRPUnknownUserSeed. To mitigate the memory leak, the seed handling in
SRP_VBASE_get_by_user is now disabled even if the user has configured a seed.
Applications are advised to migrate to SRP_VBASE_get1_by_user. However, note
that OpenSSL makes no strong guarantees about the indistinguishability of valid
and invalid logins. In particular, computations are currently not carried out
in constant time.

CVE-2016-0705

A double free bug was discovered when OpenSSL parses malformed DSA private keys
and could lead to a DoS attack or memory corruption for applications that
receive DSA private keys from untrusted sources. This scenario is considered
rare.

CVE-2016-0800

A cross-protocol attack was discovered that could lead to decryption of TLS
sessions by using a server supporting SSLv2 and EXPORT cipher suites as a
Bleichenbacher RSA padding oracle. Note that traffic between clients and non-
vulnerable servers can be decrypted provided another server supporting SSLv2
and EXPORT ciphers (even with a different protocol such as SMTP, IMAP or POP)
shares the RSA keys of the non-vulnerable server. This vulnerability is known
as DROWN (CVE-2016-0800). Recovering one session key requires the attacker to
perform approximately 2^50 computation, as well as thousands of connections to
the affected server. A more efficient variant of the DROWN attack exists
against unpatched OpenSSL servers using versions that predate 1.0.2a, 1.0.1m,
1.0.0r and 0.9.8zf released on 19/Mar/2015 (see CVE-2016-0703 below). Users can
avoid this issue by disabling the SSLv2 protocol in all their SSL/TLS servers,
if they've not done so already. Disabling all SSLv2 ciphers is also sufficient,
provided the patches for CVE-2015-3197 (fixed in OpenSSL 1.0.1r and 1.0.2f)
have been deployed. Servers that have not disabled the SSLv2 protocol, and are
not patched for CVE-2015-3197 are vulnerable to DROWN even if all SSLv2
ciphers are nominally disabled, because malicious clients can force the use of
SSLv2 with EXPORT ciphers. OpenSSL 1.0.2g and 1.0.1s deploy the following
mitigation against DROWN: SSLv2 is now by default disabled at build-time.
Builds that are not configured with "enable-ssl2" will not support SSLv2.
Even if "enable-ssl2" is used, users who want to negotiate SSLv2 via the
version-flexible SSLv23_method() will need to explicitly call either of:
SSL_CTX_clear_options(ctx, SSL_OP_NO_SSLv2); or SSL_clear_options(ssl,
SSL_OP_NO_SSLv2); as appropriate. Even if either of those is used, or the
application explicitly uses the version-specific SSLv2_method() or its client
or server variants, SSLv2 ciphers vulnerable to exhaustive search key recovery
have been removed. Specifically, the SSLv2 40-bit EXPORT ciphers, and SSLv2
56-bit DES are no longer available. In addition, weak ciphers in SSLv3 and up
are now disabled in default builds of OpenSSL. Builds that are not configured
with "enable-weak-ssl-ciphers" will not provide any "EXPORT" or "LOW" strength
ciphers.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48868
8 years ago
John Crispin 61c839ddd7 opkg: Make opkg understand old md5
Opkg now uses sha256 by default and expects them. Making it optionally
understand md5s also and detect md5 sum so we can migrate from configuration
that used md5.

Signed-off-by: Michal Hrusecky <Michal.Hrusecky@nic.cz>

SVN-Revision: 48867
8 years ago
John Crispin 7d008e8bf0 ar71xx: Add OOLITE to the Gainstrong profile, removed standalone profile.
This patch moves the OOLITE profile code into the overarching Gainstrong
profile and deletes the old single profile file.

Signed-off by: Stijn Segers <francesco.borromini@inventati.org>

SVN-Revision: 48866
8 years ago
John Crispin 96eb5c6fa8 ramips: Added support for ZBT-826 / ZBT-1026
Support for these MT7620-based routers: https://wiki.openwrt.org/toh/zbt/we-826
Based on Oskari’s patches found here: https://dev.openwrt.org/ticket/19996

Signed-off-by: Jamie Stuart <jamie@onebillion.org>

SVN-Revision: 48865
8 years ago
Felix Fietkau 59121fdd69 buildroot: improve git submodule handling for packages
Move the `--recursive` switch from `git clone` to `git submodule`
so that submodules are cloned for upstream branches where the
PKG_SOURCE_VERSION commit-ish has a different .gitmodules
configuration than the repository default.

This is, for example, required when the master branch for a source
package does not use submodules, but its topic branch for OpenWRT
does.

This changes the buildroot dependency from git-1.6.2 to git 1.7.12.2,
which was released September 2012.

Signed-off-by: Darik Horn <dajhorn@vanadac.com>
Signed-off-by: Karl Palsson <karlp@tweak.net.au>

SVN-Revision: 48830
8 years ago
Felix Fietkau 076d58d344 firmware-utils: mkfwimage: fix firmware_max_length for XM layout
The new u-boot version bundled with the 5.6.x firmwares from Ubiquiti gets
confused by the smaller rootfs partition size; this can lead to various
issues:

1. We've gotten reports that flashing from the 5.6.x stock firmware to
   OpenWrt will brick devices; I wasn't able to reproduce this myself
2. Flashing from 5.5.x stock firmware to OpenWrt and back to stock (via
   TFTP recovery), following by an update to 5.6.x via web interface can
   yield a bricked device with the following properties:
   - It can't be booted without entering commands over a serial console, as
     u-boot supplies the wrong MTD layout
   - The web interface won't accept any image with the original flash
     layout, so stock firmware upgrades are impossible
   - As the TFTP recovery doesn't update u-boot, returning to the old
     u-boot from firmware 5.5.x is impossible

To recover from 2., creating an OpenWrt image which doesn't set u-boot as
read-only and flashing a backup of the old u-boot from there is the only
way known to me. (Fixing the mtdparts variable in u-boot-env from OpenWrt
might also work; settings this from u-boot over serial didn't have
any permanent effect.)

Fix all of this by setting the correct flash layout also used by the stock
firmware. Flashing has been tested from both firmware 5.5.x and 5.6.x. The
fixed layout also matches the mtdparts defined by OpenWrt.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 48829
8 years ago
Felix Fietkau 619a58d641 ar71xx, firmware-utils: split ubdev01 flash layout from XM
The ubdev01 profile defines its own MTDPARTS with smaller firmware
partition, so give it its own UBNT_BOARD in mkfwimage.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 48828
8 years ago
Felix Fietkau bd93998df6 firmware-utils: mkfwimage: add -Wall, fix obvious bugs causing compile warnings
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 48827
8 years ago
Felix Fietkau 5168d43b16 gcc: update gcc 5 to version 5.3.0
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48826
8 years ago
Felix Fietkau 64fc5264cc mt76: update to the latest version, adds a number of stability fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48814
8 years ago
Felix Fietkau 28458bd057 ramips: add sysupgrade support for mt7628
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48813
8 years ago
Felix Fietkau dc6533d982 ramips: create device tree node for MT7628 WMAC in preparation for future work on driver support in mt76
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48812
8 years ago
Felix Fietkau 9d18e34052 mt76: update to the latest version, enable MT7603 support (very basic, needs testing and debugging work)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48811
8 years ago
Hauke Mehrtens 832251a616 bsdiff: add bsdiff and bspatch tool package
This will be used to create a diff between the Lantiq annex A and the
annex B firmware.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48810
8 years ago
Felix Fietkau 9a94538272 scripts/download.pl: fix sha256 hash command (#21931)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48809
8 years ago
Felix Fietkau ce9dc109a4 Revert "ar71xx: WNR612v2: exclude USB modules from image"
This reverts commit r48778. The issue has now been fixed properly

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48808
8 years ago
Felix Fietkau f026f5c780 include/target.mk: fix profile defaults
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48807
8 years ago
Jo-Philipp Wich eced3b3a35 base-files: support passing mode to ucidef_set_led_netdev()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48806
8 years ago
Rafał Miłecki 578e8d6c58 kernel: use upstream accepted bcm47xxpart patches
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48805
8 years ago
Felix Fietkau 9ae8541466 toolchain: use musl instead of glibc by default for mips64
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48804
8 years ago
Felix Fietkau e70ec04eb3 musl: add mips64 port
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48803
8 years ago
Felix Fietkau 1185e645a7 kernel: disable MIPS VDSO by default until the cache issues have been resolved
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48802
8 years ago
John Crispin b5bfb3534b dnsmasq: add host-specific lease time option for static hosts
Enable setting a host-specific lease time for static hosts.
The new option is called "leasetime" and the format is similar
as for the default lease time: e.g. 12h, 3d, infinite

Default lease time is used for all hosts for which there is
no host-specific definition.

The option is added to /etc/config/dhcp for the selected hosts:
  config host
        option name 'Nexus'
        option mac 'd8:50:66:55:59:7c'
        option ip '192.168.1.245'
        option leasetime '2h'

It gets appended to /var/etc/dnsmasq.conf like this:
  dhcp-host=d8:50:66:55:59:7c,192.168.1.245,Nexus,2h

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

SVN-Revision: 48801
8 years ago
John Crispin c503984876 dnsmasq: add dhcp relay option
Signed-off-by: dbugnar <dnbugnar@ocedo.com>

SVN-Revision: 48800
8 years ago
John Crispin 4f3c1e7793 procd: hotplug.json: allow passing hotplug events from all subsystems
There are time that programs need to be notified of events from
subsystems that are not enumerated in the .json definition, e.g. QEMU
guest agent by default requires /dev/virtio-ports/org.qemu.guest_agent.0
which is a symlink to /dev/vportMpN from virtio-ports subsystem.

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

SVN-Revision: 48799
8 years ago
John Crispin 3aceb54a3b libubox: update to latest git HEAD
adds isdir support to json_script

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 48798
8 years ago
John Crispin ae27fab5cf ar71xx: Renamed Gainstrong MiniBox profile to Gainstrong (manufacturer) and updated copyright
This is the first patch of a series of three to tidy up the profiles for
Gainstrong devices. Right now there are two Gainstrong profiles, each
for a single device built by this manufacturer. This patch renames the
MiniBox profile to Gainstrong and updates the copyright notice.

The series applies cleanly to current trunk. Resent with the architecture in
the subject, forgot that the first time.

Signed-off by: Stijn Segers <francesco.borromini@inventati.org>

SVN-Revision: 48797
8 years ago
John Crispin f998540e80 ramips: fix GPIO names for RT5350F-OLinuXino-EVB
Hi,

the board in subject (RT5350F-OLinuXino-EVB) still ships from vendor
with a RC3 image built upon a .dts file which declares GPIO12 and GPIO14
as relay2 and relay1 respectively, as you can see from their rt5350f
branch on GitHub.

For some reason in the official stable build both the GPIOs are swapped
and the wrong names are declared in the gpio-export directive.

I'm submitting this patch which should roll back the wrong changes, so
that we get backward compatibility with any script developed on RC3
which controls the relays.

After patching correct operation is restored:

root@OpenWrt:/# cat /sys/kernel/debug/gpio
GPIOs 0-21, platform/10000600.gpio, 10000600.gpio:
 gpio-0   (button              ) in  hi
 gpio-12  (relay2              ) out lo
 gpio-14  (relay1              ) out lo

Thank you,

Signed-off-by: Lorenzo Cafaro <lorenzo@ibisco.net>

SVN-Revision: 48796
8 years ago
John Crispin 82a8f5fdaa hotplug-preinit: remove superfluous `and`
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 48795
8 years ago
John Crispin cbfec477ce mpc85xx/tl-wdr4900: correct address of the gpio controller
since linux 3.19 the address of the gpio-controller changed

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 48794
8 years ago
John Crispin 28e45ce886 kernel/gpio_keys: load module on pre-init
fix rescue mode on wdr4900

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 48793
8 years ago
Hauke Mehrtens eea54160a1 kernel: deactivate the vdso gettimeofday function.
The vdso version of this function has some problems with the cache.
Very often it works on dated data which causes problem. We are
currently working on fixing this in upstream Linux kernel.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48787
8 years ago
Hauke Mehrtens 9c394f4cbe linux-atm: activate format security checks
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48786
8 years ago
Hauke Mehrtens 93c59ac892 ltq-vdsl-mei: activate format security checks
This activates the format warnings in this package and that makes it
possible to activate format-security checks.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48785
8 years ago
Hauke Mehrtens 29a36d1fd6 strace: update to version 4.11
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48784
8 years ago
Hauke Mehrtens cb04b8d582 kernel: update kernel 4.4 to version 4.4.3
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48783
8 years ago
Rafał Miłecki 53814290e7 mac80211: backport brcmfmac fix for primary channel in 80 MHz mode
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48782
8 years ago
Rafał Miłecki b24accd72d mac80211: backport brcmfmac fix for sdio sg table alloc crash
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48781
8 years ago
Felix Fietkau 64da662a88 toolchain/glibc: remove obsolete versions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48780
8 years ago
Felix Fietkau 5be9e97a82 ar71xx: WNR612v2: fix for random WLAN MAC
Fix for invalid/random WLAN MAC address in WNR612v2. Permanent platform
MAC is calculated and assigned during system startup. WLAN MAC follows
wired Ethernet interface addresses. This is the same fix as for WNR2000v3.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>

SVN-Revision: 48779
8 years ago
Felix Fietkau e0d358c436 ar71xx: WNR612v2: exclude USB modules from image
Netgear WNR612v2 has no USB port yet default system image
includes USB kernel modules. This patch fixes that.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>

SVN-Revision: 48778
8 years ago
Felix Fietkau 3964ac919a ar71xx: WNR2000v3: fix for random WLAN MAC
Fix for invalid/random WLAN MAC address in WNR2000v3. Permanent platform
MAC is calculated and assigned during system startup. WLAN MAC follows
wired Ethernet interface addresses.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>

SVN-Revision: 48777
8 years ago
Felix Fietkau 285d9e364e base-files: add support for speed mask to switch config init scripts
This patch adds extra parameter to switch LED trigger initialization
functions.  New functionality maintains backward compatibility, so
calling functions without setting new speed_mask parameter works
as expected.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>

SVN-Revision: 48776
8 years ago
Felix Fietkau d527b82862 switch: allow Ethernet port LEDs to show specific port speeds only
This patch adds speed_mask special file to LEDs connected to switch ports
via 'switch' trigger. It allows to choose which speeds to signal when link
is up. If router has more than one LED per port, they may light up
differently depending on how fast connection is. Default setting is 'all
speeds' so backward compatibility with system scripts (for example uci) is
maintained.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>

SVN-Revision: 48775
8 years ago
Felix Fietkau f61a80444c switch: make LED port_mask file write handler use kstrtoul() function
This patch changes swconfig_trig_port_mask_store() handler to utilize
kstrtoul() function instead of call to obsolete simple_strtoul(). Thanks
to this change, new handler takes less memory and makes port_mask special
file accept not only hexadecimal, but also decimal and octal numbers.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>

SVN-Revision: 48774
8 years ago
John Crispin 3f76eeaadc kernel: crypto: add fsl CAAM package
Kernel package enables the Freescale CAAM (crypto accelerator and assurance
module, aka SEC4). Sets kernel defaults for ringsize, intc, and debug.

Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>

SVN-Revision: 48773
8 years ago
John Crispin 074cc7ac38 ramips: mt7620: fix failsafe switch config
As indicated in the bug tracker[1], failsafe mode is broken on at least some
devices using the mt7620 switch (and possibly mt7621). The thread explicitly
mentions the Xiaomi MiWifi, and the Nexx WT3020, and an unspecified device
using the mt7621 switch; the issue also applies to the Netgear EX2700.

The problem is that failsafe mode uses eth0, but enable_vlan is always set to 1
by the switch driver. Connecting to and/or pinging the device fails. This patch
fixes the failsafe preinit config, by making sure that vlan support is disabled.
It currently only fixes the switch config on mt7620, but might apply to the
mt7621 as well, so the patch has been designed with this in mind.

A similar (line wrapped) patch was submitted in December by Simon Peter, but never
accepted and/or discussed.

This patch applies to both Chaos Calmer and trunk.

[1] https://dev.openwrt.org/ticket/18768

Signed-off-by: Joseph C. Lehner <joseph.c.lehner@gmail.com>

SVN-Revision: 48772
8 years ago
John Crispin cb49742f99 ramips: build factory images for Netgear EX2700
This patch adds support for building factory and sysupgrade images
for the Netgear EX2700 that don't require modification of u-boot
environment variables.

The bootloader on this device expects the kernel partition to end
on a 64k block boundary. The last 64 byte of the kernel partition
must contain a valid uImage header - in the stock firmware, this is
the uImage header of the root filesystem. For this patch, we're using
the uImage header of a 0 byte partition (ex2700-fakeroot.uImage).

Signed-off-by: Joseph C. Lehner <joseph.c.lehner@gmail.com>

SVN-Revision: 48771
8 years ago
John Crispin c0c3f2d4c9 leds: support oneshot as well as timer triggers
oneshot and timer have the same configuration options, just a different
trigger name.

Signed-off-by: Karl Palsson <karlp@etactica.com>

SVN-Revision: 48770
8 years ago
John Crispin 56714adb4b ar71xx: correct imagename for TPlink WA730RE
- insert missing "-" to separate model and version

Signed-off-by: Sven Roederer <devel-sven@geroedel.de>

SVN-Revision: 48769
8 years ago