—–BEGIN PGP SIGNED MESSAGE—–
Hash: SHA1
Liebe Kolleginnen und Kollegen,
soeben erreichte uns nachfolgende Warnung. Wir geben diese Informationen
unveraendert an Sie weiter.
Reliable Datagram Sockets (RDS) ist ein hochperformantes, verlaessliches
Protokoll zur verbindungslosen Uebertragung von Datagrammen.
CVE-2010-3865 – Schwachstelle in der Implementierung des RDS Protokolls
im Linux Kernel
Die Implementierung des Reliable Datagram Sockets (RDS) Protokolls im
Linux Kernel behandelt einen Zaehler nicht richtig. Die Anzahl
uebertragener Speicherseiten wird beim RDMA (Remote Direct Memory
Access) in einem vorzeichenlosen Ganzzahlwert abgelegt, wobei eine eigene
rds_iovec Datenstruktur verwendet wird, deren Bereichspruefung hierfuer
fehlerhaft implementiert ist, so dass ein Integer Overflow ausgeloest
werden kann. Hierdurch kann der Kernel zum Absturz gebracht oder
beliebige Daten in den Kernelspeicher geschrieben werden. Ein lokaler
Angreifer kann diese Schwachstelle ausnutzen, um seine Rechte zu
erweitern.
Betroffen sind die folgenden Software Pakete und Plattformen:
kernel
RHEL5 und davon abgeleitete Systeme sowie alle, die den OFED Stack
fuer Infiniband installiert haben.
Bislang existieren Workarounds:
Ein Workaround besteht fuer Systeme die das Modul RDS nicht einsetzen.
Das Modul kann aus dem Kernel geladen werden(falls praesent), z.B. mit
folgendem Skript: #!/bin/sh
if lsmod | grep -q ‘^rds ‘; then echo “RDS was loaded” fi rmmod rds
2>/dev/null
if lsmod | grep -q ‘^rds ‘; then echo “FAILED to unload RDS” fi
Sowie, ggf. anschliessend, von der Installation ausgeschlossen werden: #
Blacklist the module echo “install rds /bin/true” >
/etc/modprobe.d/disable-rds echo “alias net-pf-21 off” >>
/etc/modprobe.d/disable-rds
Sektion Mitigation im EGI_CSIRT Advisory
https://wiki.egi.eu/wiki/EGI_CSIRT:Alerts/rds-rdma-2010-11-02
(c) der deutschen Zusammenfassung bei DFN-CERT Services GmbH; die
Verbreitung, auch auszugsweise, ist nur unter Hinweis auf den Urheber,
DFN-CERT Services GmbH, und nur zu nicht kommerziellen Zwecken
gestattet.
Mit freundlichen Gruessen,
Detlev O. Matthies
– —
Detlev O. Matthies, M.Sc. (Incident Response Team)
DFN-CERT Services GmbH, https://www.dfn-cert.de, Phone +49 40 808077-590
Sitz / Register: Hamburg, AG Hamburg, HRB 88805, Ust-IdNr.: DE 232129737
Sachsenstrasse 5, 20097 Hamburg/Germany, CEO: Dr. Klaus-Peter Kossakowski
Automatische Warnmeldungen https://www.cert.dfn.de/autowarn
** WHITE information – Unlimited distribution allowed =
**
** see https://wiki.egi.eu/wiki/EGI_CSIRT:TLP for distribution restrictions=
**
=20
EGI CSIRT ADVISORY [EGI-ADV-20101102]
=20
Title: High Risk Vulnerability CVE-2010-3865 kernel: integer overflow=
rds =20
[EGI-ADV-20101102]
Date: November 03, 2010
Last update: November 03, 2010
URL: https://wiki.egi.eu/wiki/EGI_CSIRT:Alerts/rds-rdma-2010-11-02
Introduction
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Another problem in the rds module has been detected, with the
potential of giving any local user root privileges. This vulnerability
has been labelled CVE-2010-3865.
This is a separate issue from the recent CVE-2010-3904 vulnerability
in rds, and the kernel update fixing CVE-2010-3904 does *not* fix
CVE-2010-3865.
This vulnerability affects RHEL5 and its derivatives, and any system
that has installed the third-party OFED stack for Infiniband
communication.
No public exploit for this issue is currently known, but the EGI CSIRT
considers this to be a high risk vulnerability.
Details
=3D=3D=3D=3D=3D=3D=3D
As reported by Thomas Pollet, when doing rdma I/O, the rds module’s
page counter can overflow, since the total number of pages may not fit
in an unsigned int.
It may be possible to exploit this issue to get unauthorized access to
kernel memory, which in turn can be used to get elevated privileges.
Mitigation
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Most systems do not utilize RDS and can simply block the vulnerability
by blacklisting the RDS module (after unloading it if it is present),
for instance by running this script:
=2D—————–
#!/bin/sh
# Unload the module
if lsmod | grep -q ‘^rds ‘; then
echo “RDS was loaded”
fi
rmmod rds 2>/dev/null
if lsmod | grep -q ‘^rds ‘; then
echo “FAILED to unload RDS”
fi
# Blacklist the module
echo “install rds /bin/true” > /etc/modprobe.d/disable-rds=20
echo “alias net-pf-28 off” >> /etc/modprobe.d/disable-rds”
=2D—————–
This will take effect immediately and does not require a reboot. The
blacklisting will stay persistent across reboots.
Please note that some clusters with Infiniband may actually use RDS.
In these cases, the only solution is to deploy a patched kernel.
Recommendations
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Immediately apply the mitigation described above to all
user-accessible systems.
Apply vendor kernel updates when they become available.
Since the rds module seems to have more problems it is recommended to
keep this module blacklisted if not needed at your site, even after
updating the kernel.
References
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
https://bugzilla.redhat.com/show_bug.cgi?id=3D647416
https://www.redhat.com/security/data/cve/CVE-2010-3865.html
=46or discussions on the details of the bug resulting in a buffer overflow:
http://www.spinics.net/lists/netdev/msg145359.html
http://www.spinics.net/lists/netdev/msg145397.html
=3D=3D=3D=3D=3D=3D=3D=3D
Sven Gabriel
Nikhef, Dutch National Institute for Sub-atomic Physics
Group Computer Technology
Room: H1.59
Phone: +31 20 5925103
Science Park 105
1098 XG Amsterdam
The Netherlands
– –nextPart1584706.4pDKnIRrJn
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part.
– —–BEGIN PGP SIGNATURE—–
Version: GnuPG v1.4.9 (GNU/Linux)
iQEcBAABAgAGBQJM0V82AAoJENCiT4ffv3v+VekIALo6VGdMpCzep+EOHfixeZL6
WXGZh4vGJksB+5AEb5E0cQjW5pJ0SZABSKYhxFsTXNG31NaBEHffWskQUE+sm0nO
9MisTZnKx0NLnss5xGIzBftYTE1/vCWn8vPhJvVf2mI4tasogSH8ccmt1az1+n9A
Vu1oIWhICa5bB4TObsWjDLpMGZJG+zdR3eROpv4k7ETCVdj7ROLmXUJWmXtzkLH+
tSovLJFB5kgnT85q8eV4lpEZtHxgrzwv65LO0blaqwanukjMukWoX3alMBcVvOKT
bbNIvZSyUr6EG477YiVakMjDjvA3btCJrRLHWK6gx7n0Xcc8j73ywNIEjqJP45o=
=FmjB
– —–END PGP SIGNATURE—–
—–BEGIN PGP SIGNATURE—–
Version: GnuPG v2.0.9 (GNU/Linux)
iEYEARECAAYFAkzSzPkACgkQWmhIvjFb90X/bgCeP3BG44bBSaqXUDJ3GldKGD1+
CPsAoJdVc1EDYg+S6+zwtgWWu0uH/Zau
=RsTj
—–END PGP SIGNATURE—–