CVE-2026-59680 PUBLISHED

yast2-users: OS command injection via LDAP-supplied shadowLastChange/shadowExpire attribute

Assigner: suse
Reserved: 06.07.2026 Published: 01.09.2026 Updated: 01.09.2026

An OS command injection vulnerability was found in yast2-users. When displaying the "Password Settings" tab of a user, get_password_term() in src/include/users/dialogs.rb read the shadowLastChange and shadowExpire fields with GetString(), which performs no numeric validation, and passed the resulting string to format_days_after_epoch(). That helper interpolated the value into a shell command executed via Ruby backticks without quoting or escaping.

Impact: an administrator who manages users against an external/federated LDAP directory via yast2 users triggers root command execution the moment they view or edit that particular user's "Password Settings" tab. No "join domain" or trust setup is required, just browsing/editing one user entry.

This issue affects yast2-users through 5.0.8.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS Score: 8.6

Product Status

Vendor SUSE
Product yast2-users
Versions Default: unaffected
  • affected from 0 to 5.0.8 (incl.)

Credits

  • Alperen Keskin finder

References

Problem Types

  • CWE-78 Improper neutralization of special elements used in an OS command ('OS command injection') CWE
  • CWE-1287 Improper validation of specified type of input CWE

Impacts

  • CAPEC-88 OS Command Injection
  • CAPEC-15 Command Delimiters
  • CAPEC-43 Exploiting Multiple Input Interpretation Layers