{"id":"CVE-2026-59680","aliases":["EUVD-2026-68996","GHSA-qvch-9vjh-pr6p","SUSE-SU-2026:3945-1","SUSE-SU-2026:3946-1","SUSE-SU-2026:3947-1","SUSE-SU-2026:3948-1","SUSE-SU-2026:3949-1","openSUSE-SU-2026:11978-1"],"status":"published","title":"yast2-users: OS command injection via LDAP-supplied shadowLastChange/shadowExpire attribute","description":"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.\n\nImpact: 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.\n\nThis issue affects yast2-users through 5.0.8.","severity":{"version":"4.0","score":8.6,"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","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.01581,"percentile":0.75735,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-1287","CWE-78"],"published":"2026-09-01T09:20:45Z","modified":"2026-10-03T17:23:10Z","fixes":[{"ecosystem":"SUSE:Linux Enterprise Server 12 SP5-LTSS","package":"yast2-users","fixed_in":["3.2.20-3.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5","package":"yast2-users","fixed_in":["3.2.20-3.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Installer Updates 15 SP4","package":"yast2-users","fixed_in":["4.4.17-150400.3.21.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS","package":"yast2-users","fixed_in":["4.4.17-150400.3.21.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS","package":"yast2-users","fixed_in":["4.4.17-150400.3.21.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server 15 SP4-LTSS","package":"yast2-users","fixed_in":["4.4.17-150400.3.21.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS","package":"yast2-users","fixed_in":["4.5.8-150500.3.11.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS","package":"yast2-users","fixed_in":["4.5.8-150500.3.11.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server 15 SP5-LTSS","package":"yast2-users","fixed_in":["4.5.8-150500.3.11.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP5","package":"yast2-users","fixed_in":["4.5.8-150500.3.11.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server 15 SP6-LTSS","package":"yast2-users","fixed_in":["4.6.7-150600.3.6.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP6","package":"yast2-users","fixed_in":["4.6.7-150600.3.6.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Installer Updates 15 SP7","package":"yast2-users","fixed_in":["4.7.2-150700.3.8.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP7","package":"yast2-users","fixed_in":["4.7.2-150700.3.8.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"yast2-users","fixed_in":["5.0.9-1.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP5-LTSS","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.20-3.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.20-3.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Installer Updates 15 SP4","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.17-150400.3.21.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.17-150400.3.21.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.17-150400.3.21.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP4-LTSS","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.17-150400.3.21.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.5.8-150500.3.11.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.5.8-150500.3.11.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP5-LTSS","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.5.8-150500.3.11.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP5","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.5.8-150500.3.11.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP6-LTSS","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.6.7-150600.3.6.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP6","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.6.7-150600.3.6.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Installer Updates 15 SP7","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.7.2-150700.3.8.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP7","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.7.2-150700.3.8.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"yast2-users","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.0.9-1.1"}]}]}],"products":[{"vendor":"suse","product":"yast2-users"}],"references":[{"url":"https://bugzilla.suse.com/show_bug.cgi?id=1272839","tags":["issue-tracking"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59680"},{"url":"https://github.com/advisories/GHSA-qvch-9vjh-pr6p"},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263945-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1272839","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-59680","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263946-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263947-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263948-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263949-1/","tags":["advisory"]},{"url":"","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-59680","title":"yast2-users: OS command injection via LDAP-supplied shadowLastChange/shadowExpire attribute","description":"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.\n\nImpact: 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.\n\nThis issue affects yast2-users through 5.0.8.","status":"published","published":"2026-09-01T09:20:45.365Z","modified":"2026-09-02T03:55:31.732Z","cvss":[{"version":"4.0","score":8.6,"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","level":"high","assessor":"cna"},{"version":"3.1","score":8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-78","CWE-1287"],"updated_at":"2026-11-02T14:19:58.560602Z"}],"euvd":[{"id":"EUVD-2026-68996","description":"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.\n\nImpact: 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.\n\nThis issue affects yast2-users through 5.0.8.","status":"published","published":"2026-09-01T09:20:45Z","modified":"2026-09-02T03:55:31Z","cvss":[{"version":"4.0","score":8.6,"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","level":"high"}],"updated_at":"2026-11-02T18:01:16.444637Z"}],"ghsa":[{"id":"GHSA-qvch-9vjh-pr6p","title":"An OS command injection vulnerability was found in yast2-users. When displaying the \"Password...","description":"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.\n\nImpact: 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.\n\nThis issue affects yast2-users through 5.0.8.","status":"published","published":"2026-09-01T12:31:47Z","modified":"2026-09-01T12:31:48Z","cvss":[{"version":"4.0","score":8.6,"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"},{"version":"3.1","score":8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:11:12.60039Z"}],"nvd":[{"id":"CVE-2026-59680","description":"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.\n\nImpact: 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.\n\nThis issue affects yast2-users through 5.0.8.","status":"published","published":"2026-09-01T10:17:13.16Z","modified":"2026-09-02T04:17:59.917Z","cvss":[{"version":"4.0","score":8.6,"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"},{"version":"3.1","score":8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-78","CWE-1287"],"updated_at":"2026-11-02T14:12:43.04945Z"}],"osv":[{"id":"openSUSE-SU-2026:11978-1","title":"yast2-users-5.0.9-1.1 on GA media","description":"These are all security issues fixed in the yast2-users-5.0.9-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-10-02T00:00:00Z","modified":"2026-10-03T17:23:10.733756722Z","updated_at":"2026-11-02T16:58:40.245664Z"},{"id":"SUSE-SU-2026:3945-1","title":"Security update for yast2-users","description":"This update for yast2-users fixes the following issue:\n\nUpdate to version 3.2.20.\n\n- CVE-2026-59680: OS command injection via LDAP-supplied `shadowLastChange`/`shadowExpire` attribute (bsc#1272839).\n","status":"published","published":"2026-09-03T07:38:52Z","modified":"2026-09-10T18:23:21.576574521Z","updated_at":"2026-11-02T15:54:05.392906Z"},{"id":"SUSE-SU-2026:3946-1","title":"Security update for yast2-users","description":"This update for yast2-users fixes the following issue:\n\nUpdate to version 4.4.17.\n\n- CVE-2026-59680: OS command injection via LDAP-supplied `shadowLastChange`/`shadowExpire` attribute (bsc#1272839).\n","status":"published","published":"2026-09-03T07:40:05Z","modified":"2026-09-10T18:23:21.771060256Z","updated_at":"2026-11-02T15:54:05.392906Z"},{"id":"SUSE-SU-2026:3947-1","title":"Security update for yast2-users","description":"This update for yast2-users fixes the following issue:\n\nUpdate to version 4.5.8.\n\n- CVE-2026-59680: OS command injection via LDAP-supplied `shadowLastChange`/`shadowExpire` attribute (bsc#1272839).\n","status":"published","published":"2026-09-03T07:41:05Z","modified":"2026-09-10T18:23:46.064543468Z","updated_at":"2026-11-02T15:54:05.392906Z"},{"id":"SUSE-SU-2026:3948-1","title":"Security update for yast2-users","description":"This update for yast2-users fixes the following issue:\n\nUpdate to version 4.6.7.\n\n- CVE-2026-59680: OS command injection via LDAP-supplied `shadowLastChange`/`shadowExpire` attribute (bsc#1272839).\n","status":"published","published":"2026-09-03T07:41:33Z","modified":"2026-09-10T18:23:22.164337075Z","updated_at":"2026-11-02T15:54:05.392906Z"},{"id":"SUSE-SU-2026:3949-1","title":"Security update for yast2-users","description":"This update for yast2-users fixes the following issue:\n\nUpdate to version 4.7.2.\n\n- CVE-2026-59680: OS command injection via LDAP-supplied `shadowLastChange`/`shadowExpire` attribute (bsc#1272839).\n","status":"published","published":"2026-09-03T07:42:03Z","modified":"2026-09-10T18:23:22.473689215Z","updated_at":"2026-11-02T15:54:05.392906Z"}]}}
