HTB Silentium is an Easy-difficulty Linux machine that chains together Flowise, Docker and Gogs vulnerabilities into a complete path from unauthenticated access to root.
The attack begins on a staging instance running Flowise 3.0.5.
CVE-2025-58434 affects the password-reset workflow: submitting a valid email address to the unauthenticated forgot-password API returns the complete internal user object, including a valid temporary password-reset token. The browser interface never displays that sensitive information, making this a good example of why penetration testers need to inspect raw API responses rather than relying exclusively on what the frontend renders.
After taking over the Flowise account, the next step abuses CVE-2025-59528 in the CustomMCP node.
The vulnerable MCP configuration is ultimately passed into JavaScript's Function() constructor. By injecting JavaScript that loads child_process, we can execute arbitrary operating-system commands and obtain root-level code execution inside the Flowise Alpine Docker container.
The container itself becomes the next pivot.
Environment variables expose credentials including an SMTP password, and password reuse allows that credential to authenticate as the ben user over SSH on the underlying host.
From the host, enumeration reveals an internally bound Gogs 0.13.3 instance running as root.
The final escalation abuses CVE-2025-8110, a symlink-following vulnerability in the Gogs PutContents API. By committing a symbolic link that points to /root/.ssh and then writing authorized_keys through the API, the filesystem follows the symlink and writes our SSH key directly into root's SSH directory.
Interestingly, the API can return an error even though the underlying file write has already succeeded.
The walkthrough covers:
HTB Silentium
Flowise 3.0.5
CVE-2025-58434
Password-reset token disclosure
API response analysis
Flowise CustomMCP
Model Context Protocol security
CVE-2025-59528
JavaScript
Function()injectionNode.js command execution
Docker container exploitation
Alpine Linux reverse shells
Container environment-variable secrets
Password reuse
SSH pivoting
Gogs 0.13.3
CVE-2025-8110
Symlink file-write vulnerabilities
SSH authorized-key injection
Linux privilege escalation
Root compromise
Silentium is a useful example of how individually different weaknesses can compound: an API information leak enables authenticated application access, application-level code execution exposes container secrets, credential reuse crosses the container boundary, and a filesystem vulnerability in an internal service finishes the path to root.
Full writeup
https://motasem-notes.net/htb-silentium-writeup/
Full Video
