
FreeBSD rtsold DNSSL Command Injection (RCE)
FreeBSD rtsold DNSSL Command Injection (RCE)
rtsold(8) does not validate DNSSL domain names for shell metacharacters before passing them to resolvconf(8). Command substitution via $() enables remote code execution from an adjacent network.
Affected: FreeBSD 13.x, 14.x, 15.x before 2025-12-16
sudo python3 exploit.py -i eth0 # touch /tmp/pwned
sudo python3 exploit.py -i eth0 -p 'id > /tmp/out' # custom command
rtsold with ACCEPT_RTADV enabledThis project is released under the GNU GPLv3.
It is provided for defensive security research, education, and authorized testing. Do not use this code against systems or services without explicit permission from the owner.
Unauthorized use may violate applicable law. The authors do not grant permission to test third-party systems and are not responsible for misuse.
See the LICENSE file for warranty and liability terms.
Credits: Kevin Day