Alert!

Lücken in Ruby-Gems ermöglichen Codeschmuggel und Datenleck

Angreifer könnten eigenen Code im Kontext eines Ruby-Programms ausführen. Nutzer der RDoc- und StringIO-Gems sollten aktualisierte Versionen einspielen.

In Pocket speichern vorlesen Druckansicht
Update

(Bild: Shutterstock)

Lesezeit: 2 Min.

In den Ruby-Gems RDoc und StringIO klaffen Sicherheitslücken. Das hat das Ruby-Projekt in zwei Sicherheitshinweisen bekannt gegeben. Entwickler und Admins sollten prüfen, ob sie aktuelle, fehlerbereinigte Versionen der Gems nutzen und möglichst Updates einspielen.

Die mutmaßlich gefährlichere der beiden Sicherheitslücken (weder CVSS-Punktwerte noch Risikostufen sind für die Fehler zur Stunde bekannt) hat die CVE-ID CVE-2024-27281 und betrifft den Gem RDoc. Beim Parsen der YAML-Datei .rdoc_options kann ein Angreifer Objekte einschleusen, indem er sie in passender Notation in der Datei ablegt. Darüber kann er dann eigenen Code im Kontext des Ruby-Programms ausführen. Ein ähnlicher Angriff auf den Dokumentations-Cache kann ebenfalls zur Codeausführung führen.

Nutzer des RDoc-Gems sollten auf die für ihre Ruby-Version passende fehlerbereinigte Ausgabe wechseln, nämlich:

  • Für Ruby 3.0: rdoc 6.3.4.1
  • Für Ruby 3.1: rdoc 6.4.1.1
  • Für Ruby 3.2: rdoc 6.5.1.1

Der Gem StringIO leidet hingegen unter einem "Buffer Overread": die Methoden ungetbyte und ungetc lesen im Speicher über das eigentliche Ende ihrer Übergabevariablen hinaus, was zu ungewollter Informationsweitergabe führt. Ein Angreifer kann so Teile des Speichers einsehen, die er nicht kennen sollte. Die Sicherheitslücke trägt die CVE-ID CVE-2024-27280 und ist in den folgenden StringIO-Versionen repariert:

  • Für Ruby 3.0: stringio 3.0.1.1
  • Für Ruby 3.1: stringio 3.0.1.2

(cku)