ruby-rack — security advisory
Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Directory`’s path check used a string prefix match on the expanded path. A request like `/../root_example/` can escape the configured root if the target path starts with the root string, allowing directory listing outside the intended root. Versions 2.2.22, 3.1.20, and 3.2.5 fix the issue.
- Products
- ruby-rack
- Affected versions
- 1.5.2-1, 1.5.2-1ubuntu0.1~esm1, 1.5.2-3+deb8u3ubuntu1~esm10, 1.5.2-3+deb8u3ubuntu1~esm11, 1.5.2-3+deb8u3ubuntu1~esm2, 1.5.2-3+deb8u3ubuntu1~esm3, 1.5.2-3+deb8u3ubuntu1~esm4, 1.5.2-3+deb8u3ubuntu1~esm6, 1.5.2-3+deb8u3ubuntu1~esm7, 1.5.2-3+deb8u3ubuntu1~esm8, 1.5.2-3+deb8u3ubuntu1~esm9, 1.5.2-4, 1.6.4-2, 1.6.4-3, 1.6.4-3ubuntu0.1, 1.6.4-3ubuntu0.2, 1.6.4-3ubuntu0.2+esm1, 1.6.4-3ubuntu0.2+esm10, 1.6.4-3ubuntu0.2+esm2, 1.6.4-3ubuntu0.2+esm4, 1.6.4-3ubuntu0.2+esm5, 1.6.4-3ubuntu0.2+esm6, 1.6.4-3ubuntu0.2+esm7, 1.6.4-3ubuntu0.2+esm8, 1.6.4-3ubuntu0.2+esm9, 1.6.4-4, 1.6.4-4ubuntu0.1, 1.6.4-4ubuntu0.2, 1.6.4-4ubuntu0.2+esm1, 1.6.4-4ubuntu0.2+esm10, 1.6.4-4ubuntu0.2+esm2, 1.6.4-4ubuntu0.2+esm4, 1.6.4-4ubuntu0.2+esm5, 1.6.4-4ubuntu0.2+esm6, 1.6.4-4ubuntu0.2+esm7, 1.6.4-4ubuntu0.2+esm8, 1.6.4-4ubuntu0.2+esm9, 2.0.6-3, 2.0.7-2, 2.0.7-2ubuntu0.1, 2.0.7-2ubuntu0.1+esm1, 2.0.7-2ubuntu0.1+esm2, 2.0.7-2ubuntu0.1+esm3, 2.0.7-2ubuntu0.1+esm4, 2.0.7-2ubuntu0.1+esm5, 2.0.7-2ubuntu0.1+esm6, 2.0.7-2ubuntu0.1+esm7, 2.0.7-2ubuntu0.1+esm8, 2.1.4-3, 2.1.4-4, 2.1.4-5, 2.1.4-5ubuntu1, 2.1.4-5ubuntu1+esm2, 2.1.4-5ubuntu1+esm3, 2.1.4-5ubuntu1+esm4, 2.1.4-5ubuntu1+esm5, 2.1.4-5ubuntu1.1, 2.1.4-5ubuntu1.1+esm1, 2.1.4-5ubuntu1.1+esm2, 2.1.4-5ubuntu1.2, 2.1.4-5ubuntu1.2+esm1, 2.2.4-3, 2.2.7-1, 2.2.7-1.1, 2.2.7-1ubuntu0.1, 2.2.7-1ubuntu0.2, 2.2.7-1ubuntu0.3, 2.2.7-1ubuntu0.4, 2.2.7-1ubuntu0.5, 3.1.16-0.1, 3.1.16-0.1ubuntu0.1, 3.1.18-1, 3.1.18-1build1
- Fixed versions
- 2.0.7-2ubuntu0.1+esm9, 2.1.4-5ubuntu1.2+esm2, 2.2.7-1ubuntu0.6, 3.1.16-0.1ubuntu0.2, 3.2.4-1ubuntu1
- CVEs
- CVE-2026-22860
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 02:57 UTC · Revision 1
Source evidence
Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Directory`’s path check used a string prefix match on the expanded path. A request like `/../root_example/` can escape the configured root if the target path starts with the root string, allowing directory listing outside the intended root. Versions 2.2.22, 3.1.20, and 3.2.5 fix the issue.
osv:UBUNTU-CVE-2026-22860
ruby-rack
Fixed versions: Not specified
ruby-rack
Fixed versions: Not specified
ruby-rack
Fixed versions: Not specified
ruby-rack
Fixed versions: 2.0.7-2ubuntu0.1+esm9
ruby-rack
Fixed versions: 2.1.4-5ubuntu1.2+esm2
ruby-rack
Fixed versions: 2.2.7-1ubuntu0.6
ruby-rack
Fixed versions: 3.1.16-0.1ubuntu0.2
ruby-rack
Fixed versions: 3.2.4-1ubuntu1
ruby-rack
Fixed versions: 3.2.4-1ubuntu1
Complete source record
{
"id": "03a3b7f76a22d51a3dc7a6b7994fa55df0e754a2402688943e0bdfaa852fe039",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-22860",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2026-22860",
"summary": "Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Directory`’s path check used a string prefix match on the expanded path. A request like `/../root_example/` can escape the configured root if the target path starts with the root string, allowing directory listing outside the intended root. Versions 2.2.22, 3.1.20, and 3.2.5 fix the issue.",
"evidence": "osv:UBUNTU-CVE-2026-22860",
"products": [
{
"name": {
"value": "ruby-rack",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.5.2-1",
"evidence": "/affected/0/versions"
},
{
"value": "1.5.2-1ubuntu0.1~esm1",
"evidence": "/affected/0/versions"
},
{
"value": "1.5.2-3+deb8u3ubuntu1~esm2",
"evidence": "/affected/0/versions"
},
{
"value": "1.5.2-3+deb8u3ubuntu1~esm3",
"evidence": "/affected/0/versions"
},
{
"value": "1.5.2-3+deb8u3ubuntu1~esm4",
"evidence": "/affected/0/versions"
},
{
"value": "1.5.2-3+deb8u3ubuntu1~esm6",
"evidence": "/affected/0/versions"
},
{
"value": "1.5.2-3+deb8u3ubuntu1~esm7",
"evidence": "/affected/0/versions"
},
{
"value": "1.5.2-3+deb8u3ubuntu1~esm8",
"evidence": "/affected/0/versions"
},
{
"value": "1.5.2-3+deb8u3ubuntu1~esm9",
"evidence": "/affected/0/versions"
},
{
"value": "1.5.2-3+deb8u3ubuntu1~esm10",
"evidence": "/affected/0/versions"
},
{
"value": "1.5.2-3+deb8u3ubuntu1~esm11",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "ruby-rack",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.5.2-4",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-2",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.1",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.2",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.2+esm1",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.2+esm2",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.2+esm4",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.2+esm5",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.2+esm6",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.2+esm7",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.2+esm8",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.2+esm9",
"evidence": "/affected/1/versions"
},
{
"value": "1.6.4-3ubuntu0.2+esm10",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "ruby-rack",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.6.4-4",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.1",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.2",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.2+esm1",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.2+esm2",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.2+esm4",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.2+esm5",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.2+esm6",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.2+esm7",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.2+esm8",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.2+esm9",
"evidence": "/affected/2/versions"
},
{
"value": "1.6.4-4ubuntu0.2+esm10",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "ruby-rack",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.0.7-2ubuntu0.1+esm9",
"evidence": "/affected/3/ranges"
}
],
"affected_versions": [
{
"value": "2.0.6-3",
"evidence": "/affected/3/versions"
},
{
"value": "2.0.7-2",
"evidence": "/affected/3/versions"
},
{
"value": "2.0.7-2ubuntu0.1",
"evidence": "/affected/3/versions"
},
{
"value": "2.0.7-2ubuntu0.1+esm1",
"evidence": "/affected/3/versions"
},
{
"value": "2.0.7-2ubuntu0.1+esm2",
"evidence": "/affected/3/versions"
},
{
"value": "2.0.7-2ubuntu0.1+esm3",
"evidence": "/affected/3/versions"
},
{
"value": "2.0.7-2ubuntu0.1+esm4",
"evidence": "/affected/3/versions"
},
{
"value": "2.0.7-2ubuntu0.1+esm5",
"evidence": "/affected/3/versions"
},
{
"value": "2.0.7-2ubuntu0.1+esm6",
"evidence": "/affected/3/versions"
},
{
"value": "2.0.7-2ubuntu0.1+esm7",
"evidence": "/affected/3/versions"
},
{
"value": "2.0.7-2ubuntu0.1+esm8",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "ruby-rack",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.1.4-5ubuntu1.2+esm2",
"evidence": "/affected/4/ranges"
}
],
"affected_versions": [
{
"value": "2.1.4-3",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-4",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5ubuntu1",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5ubuntu1+esm2",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5ubuntu1+esm3",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5ubuntu1+esm4",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5ubuntu1+esm5",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5ubuntu1.1",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5ubuntu1.1+esm1",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5ubuntu1.1+esm2",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5ubuntu1.2",
"evidence": "/affected/4/versions"
},
{
"value": "2.1.4-5ubuntu1.2+esm1",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "ruby-rack",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.2.7-1ubuntu0.6",
"evidence": "/affected/5/ranges"
}
],
"affected_versions": [
{
"value": "2.2.4-3",
"evidence": "/affected/5/versions"
},
{
"value": "2.2.7-1",
"evidence": "/affected/5/versions"
},
{
"value": "2.2.7-1ubuntu0.1",
"evidence": "/affected/5/versions"
},
{
"value": "2.2.7-1ubuntu0.2",
"evidence": "/affected/5/versions"
},
{
"value": "2.2.7-1ubuntu0.3",
"evidence": "/affected/5/versions"
},
{
"value": "2.2.7-1ubuntu0.4",
"evidence": "/affected/5/versions"
},
{
"value": "2.2.7-1ubuntu0.5",
"evidence": "/affected/5/versions"
}
]
},
{
"name": {
"value": "ruby-rack",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.1.16-0.1ubuntu0.2",
"evidence": "/affected/6/ranges"
}
],
"affected_versions": [
{
"value": "2.2.7-1.1",
"evidence": "/affected/6/versions"
},
{
"value": "3.1.16-0.1",
"evidence": "/affected/6/versions"
},
{
"value": "3.1.16-0.1ubuntu0.1",
"evidence": "/affected/6/versions"
}
]
},
{
"name": {
"value": "ruby-rack",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.2.4-1ubuntu1",
"evidence": "/affected/7/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "ruby-rack",
"evidence": "/affected/8/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.2.4-1ubuntu1",
"evidence": "/affected/8/ranges"
}
],
"affected_versions": [
{
"value": "3.1.16-0.1",
"evidence": "/affected/8/versions"
},
{
"value": "3.1.18-1",
"evidence": "/affected/8/versions"
},
{
"value": "3.1.18-1build1",
"evidence": "/affected/8/versions"
}
]
}
],
"severity": "high",
"structured": {
"id": "UBUNTU-CVE-2026-22860",
"aliases": [
"UBUNTU-CVE-2026-22860"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
},
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-rack",
"purl": "pkg:deb/ubuntu/ruby-rack?arch=source&distro=esm-infra-legacy%2Ftrusty",
"ecosystem": "Ubuntu:Pro:14.04:LTS"
},
"versions": [
"1.5.2-1",
"1.5.2-1ubuntu0.1~esm1",
"1.5.2-3+deb8u3ubuntu1~esm2",
"1.5.2-3+deb8u3ubuntu1~esm3",
"1.5.2-3+deb8u3ubuntu1~esm4",
"1.5.2-3+deb8u3ubuntu1~esm6",
"1.5.2-3+deb8u3ubuntu1~esm7",
"1.5.2-3+deb8u3ubuntu1~esm8",
"1.5.2-3+deb8u3ubuntu1~esm9",
"1.5.2-3+deb8u3ubuntu1~esm10",
"1.5.2-3+deb8u3ubuntu1~esm11"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-22860.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "librack-ruby",
"binary_version": "1.5.2-3+deb8u3ubuntu1~esm11"
},
{
"binary_name": "librack-ruby1.8",
"binary_version": "1.5.2-3+deb8u3ubuntu1~esm11"
},
{
"binary_name": "librack-ruby1.9.1",
"binary_version": "1.5.2-3+deb8u3ubuntu1~esm11"
},
{
"binary_name": "ruby-rack",
"binary_version": "1.5.2-3+deb8u3ubuntu1~esm11"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-rack",
"purl": "pkg:deb/ubuntu/ruby-rack?arch=source&distro=esm-apps%2Fxenial",
"ecosystem": "Ubuntu:Pro:16.04:LTS"
},
"versions": [
"1.5.2-4",
"1.6.4-2",
"1.6.4-3",
"1.6.4-3ubuntu0.1",
"1.6.4-3ubuntu0.2",
"1.6.4-3ubuntu0.2+esm1",
"1.6.4-3ubuntu0.2+esm2",
"1.6.4-3ubuntu0.2+esm4",
"1.6.4-3ubuntu0.2+esm5",
"1.6.4-3ubuntu0.2+esm6",
"1.6.4-3ubuntu0.2+esm7",
"1.6.4-3ubuntu0.2+esm8",
"1.6.4-3ubuntu0.2+esm9",
"1.6.4-3ubuntu0.2+esm10"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-22860.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-rack",
"binary_version": "1.6.4-3ubuntu0.2+esm10"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "ruby-rack",
"purl": "pkg:deb/ubuntu/ruby-rack?arch=source&distro=esm-apps%2Fbionic",
"ecosystem": "Ubuntu:Pro:18.04:LTS"
},
"versions": [
"1.6.4-4",
"1.6.4-4ubuntu0.1",
"1.6.4-4ubuntu0.2",
"1.6.4-4ubuntu0.2+esm1",
"1.6.4-4ubuntu0.2+esm2",
"1.6.4-4ubuntu0.2+esm4",
"1.6.4-4ubuntu0.2+esm5",
"1.6.4-4ubuntu0.2+esm6",
"1.6.4-4ubuntu0.2+esm7",
"1.6.4-4ubuntu0.2+esm8",
"1.6.4-4ubuntu0.2+esm9",
"1.6.4-4ubuntu0.2+esm10"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-22860.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-rack",
"binary_version": "1.6.4-4ubuntu0.2+esm10"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.0.7-2ubuntu0.1+esm9"
}
]
}
],
"package": {
"name": "ruby-rack",
"purl": "pkg:deb/ubuntu/ruby-rack?arch=source&distro=esm-apps%2Ffocal",
"ecosystem": "Ubuntu:Pro:20.04:LTS"
},
"versions": [
"2.0.6-3",
"2.0.7-2",
"2.0.7-2ubuntu0.1",
"2.0.7-2ubuntu0.1+esm1",
"2.0.7-2ubuntu0.1+esm2",
"2.0.7-2ubuntu0.1+esm3",
"2.0.7-2ubuntu0.1+esm4",
"2.0.7-2ubuntu0.1+esm5",
"2.0.7-2ubuntu0.1+esm6",
"2.0.7-2ubuntu0.1+esm7",
"2.0.7-2ubuntu0.1+esm8"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-22860.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-rack",
"binary_version": "2.0.7-2ubuntu0.1+esm9"
}
],
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.1.4-5ubuntu1.2+esm2"
}
]
}
],
"package": {
"name": "ruby-rack",
"purl": "pkg:deb/ubuntu/ruby-rack?arch=source&distro=esm-apps%2Fjammy",
"ecosystem": "Ubuntu:Pro:22.04:LTS"
},
"versions": [
"2.1.4-3",
"2.1.4-4",
"2.1.4-5",
"2.1.4-5ubuntu1",
"2.1.4-5ubuntu1+esm2",
"2.1.4-5ubuntu1+esm3",
"2.1.4-5ubuntu1+esm4",
"2.1.4-5ubuntu1+esm5",
"2.1.4-5ubuntu1.1",
"2.1.4-5ubuntu1.1+esm1",
"2.1.4-5ubuntu1.1+esm2",
"2.1.4-5ubuntu1.2",
"2.1.4-5ubuntu1.2+esm1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-22860.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-rack",
"binary_version": "2.1.4-5ubuntu1.2+esm2"
}
],
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.2.7-1ubuntu0.6"
}
]
}
],
"package": {
"name": "ruby-rack",
"purl": "pkg:deb/ubuntu/ruby-rack?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"2.2.4-3",
"2.2.7-1",
"2.2.7-1ubuntu0.1",
"2.2.7-1ubuntu0.2",
"2.2.7-1ubuntu0.3",
"2.2.7-1ubuntu0.4",
"2.2.7-1ubuntu0.5"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-22860.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-rack",
"binary_version": "2.2.7-1ubuntu0.6"
}
],
"availability": "No subscription required"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.1.16-0.1ubuntu0.2"
}
]
}
],
"package": {
"name": "ruby-rack",
"purl": "pkg:deb/ubuntu/ruby-rack?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"2.2.7-1.1",
"3.1.16-0.1",
"3.1.16-0.1ubuntu0.1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-22860.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-rack",
"binary_version": "3.1.16-0.1ubuntu0.2"
}
],
"availability": "No subscription required"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.2.4-1ubuntu1"
}
]
}
],
"package": {
"name": "ruby-rack",
"purl": "pkg:deb/ubuntu/ruby-rack?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-22860.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-rack",
"binary_version": "3.2.4-1ubuntu1"
}
],
"availability": "No subscription required"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.2.4-1ubuntu1"
}
]
}
],
"package": {
"name": "ruby-rack",
"purl": "pkg:deb/ubuntu/ruby-rack?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"3.1.16-0.1",
"3.1.18-1",
"3.1.18-1build1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-22860.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "ruby-rack",
"binary_version": "3.2.4-1ubuntu1"
}
],
"availability": "No subscription required"
}
}
],
"modified": "2026-10-17T12:59:55.190199053Z",
"provider": "osv",
"upstream": [
"CVE-2026-22860"
],
"references": [
"https://ubuntu.com/security/CVE-2026-22860",
"https://www.cve.org/CVERecord?id=CVE-2026-22860",
"https://github.com/rack/rack/security/advisories/GHSA-mxw3-3hh2-x2mh",
"https://ubuntu.com/security/notices/USN-8066-1"
]
},
"related_cves": [
{
"value": "CVE-2026-22860",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 359964,
"published_at": "2026-02-18T19:21:00+00:00"
}