CVE-2026-59681: yast2-auth-client: OS command injection via unsanitized Organizational Unit / dnsHostName in AD join
A OS command injection vulnerability in yast2-auth-client allows an attacker who controls Active Directory configuration values to execute arbitrary commands as root on the configured host. Auth::AuthConf in src/lib/auth/authconf.rb assembles the Samba net ads join, net ads lookup -S and net ads testjoin invocations by interpolating configuration values into a single command string and passing that string to Open3.popen2 / Open3.capture2, which causes Ruby to run it through /bin/sh. The Organizational Unit (ou), dnshostname, AD user name and AD domain name values are neither validated nor shell-quoted.
Affected Software
Event History
Frequently Asked Questions
Who is exposed to exploitation?
Configured hosts that use yast2-auth-client to join or test membership in Active Directory are exposed when an attacker can control relevant AD configuration values. The vulnerable values include the Organizational Unit, dnsHostName, AD user name, and AD domain name.
What access does an attacker need?
The attacker does not need privileges on the affected host, but must be able to control Active Directory configuration values used by the host. Exploitation also requires a user interaction, as reflected by the UI:R vector.
What is the impact of successful exploitation?
Successful exploitation can execute arbitrary commands as root on the configured host. This can affect confidentiality, integrity, and availability.
Which operations process the unsafe values?
The affected code builds commands for Samba net ads join, net ads lookup -S, and net ads testjoin. It interpolates the values into a single command string passed to Open3.popen2 or Open3.capture2, causing execution through /bin/sh.