[Generic/CVS] Sicherheitsloch im Concurrent Versions System (CVS)
(2003-01-27 11:06:17.28077+00)
Quelle:
http://security.e-matters.de/advisories/012003.html
Die Versionen bis 1.11.4 des Concurrent Versions System (CVS) besitzen eine Schwachstelle, die über eine Netzwerkverbindung zur Kompromittierung des beherbergenden Rechnersystems ausgenutzt werden kann.
Betroffene Systeme
- CVS bis einschließlich Version 1.11.4
Nicht betroffene Systeme
- CVS Version 1.11.5
- Systeme, die mit entsprechenden Vendor-Patches zur Behebung der Schwachstelle versehen sind, die aber i.d.R. nicht die Versionsnummer ändern.
Einfallstor
Senden eines speziell formulierten directory request an den CVS-Server
Auswirkung
- Ausführung beliebigen Programmcodes mit den Privilegien des CVS-Servers, üblicherweise
root
(remote root compromise) - Störung des Betriebes des CVS-Servers
- Nichtverfügbarkeit des CVS-Servers
(denial of service)
Typ der Verwundbarkeit
memory double-free bug
Gefahrenpotential
sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Kontext
CVS ist das führende Open-Source-Versionskontrollsystem, das häufig zur verteilten Pflege der Quelltextbäume von Open-Source-Projekten verwendet wird. Es erlaubt Entwicklern, auf die jeweils aktuelle Version des Codes über eine Netzwerkverbindung zuzugreifen.
Beschreibung
Die interne Routine zur Bearbeitung von directory requests enthält einen Fehler, der von Angreifern über eine Netzwerkverbindung zur Kompromittierung des den CVS-Server beherbergenden Rechnersystems ausgenutzt werden kann.
Bei der Verarbeitung eines speziell formulierten Verzeichnispfades kann eine Situation eintreten, bei der eine Fehlerbearbeitungsroutine dieselbe Speicherreferenz mehrfach freigibt. Dies führt zu einer heap corruption, die von einem Angreifer dazu ausgenutzt werden kann, beliebigen Programmcode mit den privilegien des CVS-Servers auszuführen (üblicherweise root
-Privilegien), das Verhalten des CVS-Servers zu verändern und damit den Betrieb zu stören oder den CVS-Server zum Absturz zu bringen und dadurch die Nichtverfügbarkeit des Dienstes herbeizuführen.
Workaround
Bis zur Installation einer nichtverwundbaren Version (s. Gegenmaßnahmen) sollten folgende Maßnahmen erwogen werden:
- Abschaltung des CVS-Servers. CVS wird üblicherweise über
inetd
gestartet. Um einen Start des CVS-Dienstes zu verhindern muß daher in der Datei/etc/inet.conf
die enstprechende Zeile mit einem Doppelkreuz '#
' auskommentiert werden undinetd
mit demkill -HUP
Kommando neu gestartet werden. - Abschaltung oder Einschränkung des anonymen Zugriffs auf CVS.
- Abschaltung des externen Zugriffs auf CVS.
Gegenmaßnahmen
- Installation von CVS Version 1.11.5
Vulnerability ID
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.
Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=1060