ruby-thor — security advisory
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."
- Products
- ruby-thor
- Affected versions
- 0.18.1-1, 0.18.1.git20140116-2, 0.19.1-2, 0.19.4-1, 1.0.1-1, 1.2.1-2, 1.2.2-1, 1.3.1-1, 1.3.2-2, 1.3.2-2.1, 1.4.0-1, 1.5.0-1
- Fixed versions
- Not specified
- CVEs
- CVE-2025-54314
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 02:30 UTC · Revision 1
Source evidence
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."
osv:UBUNTU-CVE-2025-54314
ruby-thor
Fixed versions: Not specified
ruby-thor
Fixed versions: Not specified
ruby-thor
Fixed versions: Not specified
ruby-thor
Fixed versions: Not specified
ruby-thor
Fixed versions: Not specified
ruby-thor
Fixed versions: Not specified
ruby-thor
Fixed versions: Not specified
ruby-thor
Fixed versions: Not specified
ruby-thor
Fixed versions: Not specified
Complete source record
{
"id": "c46744e67e2c5913070ce1953b77c4d674ec6b42777be5e00ef817835f94cb09",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2025-54314",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2025-54314",
"summary": "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.\"",
"evidence": "osv:UBUNTU-CVE-2025-54314",
"products": [
{
"name": {
"value": "ruby-thor",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.18.1-1",
"evidence": "/affected/0/versions"
},
{
"value": "0.18.1.git20140116-2",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "ruby-thor",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.19.1-2",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "ruby-thor",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.19.4-1",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "ruby-thor",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.19.4-1",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "ruby-thor",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.0.1-1",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "ruby-thor",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.2.1-2",
"evidence": "/affected/5/versions"
},
{
"value": "1.2.2-1",
"evidence": "/affected/5/versions"
},
{
"value": "1.3.1-1",
"evidence": "/affected/5/versions"
}
]
},
{
"name": {
"value": "ruby-thor",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.3.2-2",
"evidence": "/affected/6/versions"
},
{
"value": "1.3.2-2.1",
"evidence": "/affected/6/versions"
}
]
},
{
"name": {
"value": "ruby-thor",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.5.0-1",
"evidence": "/affected/7/versions"
}
]
},
{
"name": {
"value": "ruby-thor",
"evidence": "/affected/8/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.3.2-2.1",
"evidence": "/affected/8/versions"
},
{
"value": "1.4.0-1",
"evidence": "/affected/8/versions"
},
{
"value": "1.5.0-1",
"evidence": "/affected/8/versions"
}
]
}
],
"severity": "low",
"structured": {
"id": "UBUNTU-CVE-2025-54314",
"aliases": [
"UBUNTU-CVE-2025-54314"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:N"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-thor",
"purl": "pkg:deb/ubuntu/ruby-thor?arch=source&distro=trusty",
"ecosystem": "Ubuntu:14.04:LTS"
},
"versions": [
"0.18.1-1",
"0.18.1.git20140116-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-54314.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-thor",
"binary_version": "0.18.1.git20140116-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-thor",
"purl": "pkg:deb/ubuntu/ruby-thor?arch=source&distro=xenial",
"ecosystem": "Ubuntu:16.04:LTS"
},
"versions": [
"0.19.1-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-54314.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-thor",
"binary_version": "0.19.1-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-thor",
"purl": "pkg:deb/ubuntu/ruby-thor?arch=source&distro=bionic",
"ecosystem": "Ubuntu:18.04:LTS"
},
"versions": [
"0.19.4-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-54314.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-thor",
"binary_version": "0.19.4-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-thor",
"purl": "pkg:deb/ubuntu/ruby-thor?arch=source&distro=focal",
"ecosystem": "Ubuntu:20.04:LTS"
},
"versions": [
"0.19.4-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-54314.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-thor",
"binary_version": "0.19.4-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-thor",
"purl": "pkg:deb/ubuntu/ruby-thor?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"1.0.1-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-54314.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-thor",
"binary_version": "1.0.1-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-thor",
"purl": "pkg:deb/ubuntu/ruby-thor?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"1.2.1-2",
"1.2.2-1",
"1.3.1-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-54314.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-thor",
"binary_version": "1.3.1-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-thor",
"purl": "pkg:deb/ubuntu/ruby-thor?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"1.3.2-2",
"1.3.2-2.1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-54314.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-thor",
"binary_version": "1.3.2-2.1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-thor",
"purl": "pkg:deb/ubuntu/ruby-thor?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"1.5.0-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-54314.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-thor",
"binary_version": "1.5.0-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-thor",
"purl": "pkg:deb/ubuntu/ruby-thor?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"1.3.2-2.1",
"1.4.0-1",
"1.5.0-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-54314.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-thor",
"binary_version": "1.5.0-1"
}
]
}
}
],
"modified": "2026-10-17T12:58:38.082688769Z",
"provider": "osv",
"upstream": [
"CVE-2025-54314"
],
"references": [
"https://ubuntu.com/security/CVE-2025-54314",
"https://www.cve.org/CVERecord?id=CVE-2025-54314",
"https://hackerone.com/reports/3260153",
"https://github.com/rails/thor/pull/897",
"https://github.com/rails/thor/commit/536b79036a0efb765c1899233412e7b1ca94abfa",
"https://github.com/rails/thor/releases/tag/v1.4.0"
]
},
"related_cves": [
{
"value": "CVE-2025-54314",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 358905,
"published_at": "2025-07-20T03:15:00+00:00"
}