{"id":"CVE-2025-54314","aliases":["AZL-65613","AZL-65631","EUVD-2025-21984","GHSA-mqcp-p2hv-vw6x","UBUNTU-CVE-2025-54314","openSUSE-SU-2025:15382-1","openSUSE-SU-2026:10366-1"],"status":"disputed","title":"Withdrawn Advisory: Thor can construct an unsafe shell command from library input.","description":"Thor before 1.4.0 can construct an unsafe shell command from library input. NOTE: this is disputed by the Supplier because \"the method that was fixed can only be used with arguments that are controlled by Thor, and there is no way an attacker can take control of those arguments.\"","severity":{"version":"3.1","score":2.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N","level":"low","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00189,"percentile":0.0866,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-78"],"published":"2025-07-20T00:00:00Z","modified":"2026-11-05T05:36:30Z","fixes":[{"ecosystem":"Azure Linux:2","package":"rubygem-thor","fixed_in":["1.2.1-3"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"rubygem-thor","fixed_in":["1.4.0-1.1","1.4.0-1.3"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Azure Linux:3","package":"rubygem-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.2.1-1"}]}]},{"source":"osv","ecosystem":"Azure Linux:2","package":"rubygem-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.1-3"}]}]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"ruby-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.18.1-1","0.18.1.git20140116-2"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"ruby-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.19.1-2"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"ruby-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.19.4-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"ruby-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.19.4-1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"ruby-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.0.1-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"ruby-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.2.1-2","1.2.2-1","1.3.1-1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"ruby-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.2-2","1.3.2-2.1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"ruby-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.0-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"ruby-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.2-2.1","1.4.0-1","1.5.0-1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"rubygem-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-1.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"rubygem-thor","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-1.3"}]}]}],"products":[{"vendor":"rubyonrails","product":"thor"}],"references":[{"url":"https://github.com/rails/thor/commit/536b79036a0efb765c1899233412e7b1ca94abfa","tags":["fix","web","report"]},{"url":"https://hackerone.com/reports/3260153","tags":["web","report"]},{"url":"https://github.com/rails/thor/pull/897","tags":["fix","web","report"]},{"url":"https://github.com/rails/thor/releases/tag/v1.4.0","tags":["web","report"]},{"url":"https://github.com/github/advisory-database/pull/5912#issuecomment-3169255309","tags":["fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-54314","tags":["web","advisory"]},{"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/thor/CVE-2025-54314.yml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-mqcp-p2hv-vw6x"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54314.json","tags":["advisory"]},{"url":"https://github.com/rails/thor","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2025-54314","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-54314","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2025-54314","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2025-54314","description":"Thor before 1.4.0 can construct an unsafe shell command from library input. NOTE: this is disputed by the Supplier because \"the method that was fixed can only be used with arguments that are controlled by Thor, and there is no way an attacker can take control of those arguments.\"","status":"disputed","published":"2025-07-20T00:00:00Z","modified":"2025-08-10T00:19:19.943Z","cvss":[{"version":"3.1","score":2.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N","level":"low","assessor":"cna"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:32:27.603809Z"}],"euvd":[{"id":"EUVD-2025-21984","description":"Thor before 1.4.0 can construct an unsafe shell command from library input. NOTE: this is disputed by the Supplier because \"the method that was fixed can only be used with arguments that are controlled by Thor, and there is no way an attacker can take control of those arguments.\"","status":"published","published":"2025-07-20T00:00:00Z","modified":"2025-08-10T00:19:19Z","cvss":[{"version":"3.1","score":2.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N","level":"low"}],"updated_at":"2026-11-02T20:31:59.900029Z"}],"ghsa":[{"id":"GHSA-mqcp-p2hv-vw6x","title":"Withdrawn Advisory: Thor can construct an unsafe shell command from library input.","description":"### Withdrawn Advisory\nThis advisory has been withdrawn because the method described can only be used with arguments that are controlled by Thor, and an external attacker cannot access the functionality described in the body of the CVE. This link is maintained to preserve external references.\n\n### Original Description\nThor before 1.4.0 can construct an unsafe shell command from library input.","status":"withdrawn","published":"2025-07-20T03:30:19Z","modified":"2025-08-13T18:55:19Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:38:53.767052Z"}],"nvd":[{"id":"CVE-2025-54314","description":"Thor before 1.4.0 can construct an unsafe shell command from library input. NOTE: this is disputed by the Supplier because \"the method that was fixed can only be used with arguments that are controlled by Thor, and there is no way an attacker can take control of those arguments.\"","status":"disputed","published":"2025-07-20T03:15:22.16Z","modified":"2026-06-17T09:39:50.04Z","cvss":[{"version":"3.1","score":2.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N","level":"low","assessor":"secondary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:11:18.782156Z"}],"osv":[{"id":"CVE-2025-54314","description":"Thor before 1.4.0 can construct an unsafe shell command from library input. NOTE: this is disputed by the Supplier because \"the method that was fixed can only be used with arguments that are controlled by Thor, and there is no way an attacker can take control of those arguments.\"","status":"published","published":"2025-07-20T00:00:00Z","modified":"2026-10-28T02:30:21.053965953Z","cvss":[{"version":"3.1","score":2.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N","level":"low"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:44:50.863921Z"},{"id":"GHSA-mqcp-p2hv-vw6x","title":"Withdrawn Advisory: Thor can construct an unsafe shell command from library input.","description":"### Withdrawn Advisory\nThis advisory has been withdrawn because the method described can only be used with arguments that are controlled by Thor, and an external attacker cannot access the functionality described in the body of the CVE. This link is maintained to preserve external references.\n\n### Original Description\nThor before 1.4.0 can construct an unsafe shell command from library input.","status":"withdrawn","published":"2025-07-20T03:30:19Z","modified":"2026-09-10T03:50:57.968163601Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:46:52.170928Z"},{"id":"UBUNTU-CVE-2025-54314","description":"Thor before 1.4.0 can construct an unsafe shell command from library input. NOTE: this is disputed by the Supplier because \"the method that was fixed can only be used with arguments that are controlled by Thor, and there is no way an attacker can take control of those arguments.\"","status":"published","published":"2025-07-20T03:15:00Z","modified":"2026-10-17T12:58:38.082688769Z","cvss":[{"version":"3.1","score":2.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N","level":"low"}],"updated_at":"2026-11-02T16:55:50.31802Z"},{"id":"AZL-65613","title":"CVE-2025-54314 affecting package rubygem-thor 1.2.1-1","description":"Thor before 1.4.0 can construct an unsafe shell command from library input. NOTE: this is disputed by the Supplier because \"the method that was fixed can only be used with arguments that are controlled by Thor, and there is no way an attacker can take control of those arguments.\"","status":"published","published":"2025-07-20T03:15:22Z","modified":"2026-11-05T05:36:30Z","updated_at":"2026-11-05T16:41:23.66471Z"},{"id":"AZL-65631","title":"CVE-2025-54314 affecting package rubygem-thor for versions less than 1.2.1-3","description":"Thor before 1.4.0 can construct an unsafe shell command from library input. NOTE: this is disputed by the Supplier because \"the method that was fixed can only be used with arguments that are controlled by Thor, and there is no way an attacker can take control of those arguments.\"","status":"published","published":"2025-07-20T03:15:22Z","modified":"2026-04-21T04:37:38.861508Z","updated_at":"2026-11-02T15:28:08.076947Z"},{"id":"openSUSE-SU-2025:15382-1","title":"ruby3.4-rubygem-thor-1.4.0-1.1 on GA media","description":"These are all security issues fixed in the ruby3.4-rubygem-thor-1.4.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2025-07-24T00:00:00Z","modified":"2026-02-04T04:14:21.73925Z","updated_at":"2026-11-02T16:58:37.810934Z"},{"id":"openSUSE-SU-2026:10366-1","title":"ruby4.0-rubygem-thor-1.4.0-1.3 on GA media","description":"These are all security issues fixed in the ruby4.0-rubygem-thor-1.4.0-1.3 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-03-13T00:00:00Z","modified":"2026-03-14T08:18:01.431561Z","updated_at":"2026-11-02T16:58:38.415593Z"}]}}
