{"id":"CVE-2014-3137","aliases":["DEBIAN-CVE-2014-3137","DSA-2948-1","EUVD-2014-0004","GHSA-873q-wpqr-xfgw","PYSEC-2014-77","UBUNTU-CVE-2014-3137"],"status":"published","title":"Bottle does not properly limit content-types","description":"Bottle 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 does not properly limit content types, which allows remote attackers to bypass intended access restrictions via an accepted Content-Type followed by a ; (semi-colon) and a Content-Type that would not be accepted, as demonstrated in YouCompleteMe to execute arbitrary code.","severity":{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.03115,"percentile":0.87897,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20"],"published":"2014-06-04T00:00:00Z","modified":"2026-10-23T15:47:30Z","fixes":[{"ecosystem":"PyPI","package":"bottle","fixed_in":["0.10.12","0.11.7","0.12.6"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"python-bottle","fixed_in":["0.12.6-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"python-bottle","fixed_in":["0.12.6-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"python-bottle","fixed_in":["0.12.6-1"],"sources":["osv"]},{"ecosystem":"Debian:7","package":"python-bottle","fixed_in":["0.10.11-1+deb7u1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:14.04:LTS","package":"python-bottle","fixed_in":["0.12.0-1ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.10.0"},{"fixed":"0.10.12"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.11.0"},{"fixed":"0.11.7"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.12.0"},{"fixed":"0.12.6"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"python-bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.12.6-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"python-bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.12.6-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"python-bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.12.6-1"}]}]},{"source":"osv","ecosystem":"Debian:7","package":"python-bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.11-1+deb7u1"}]}],"versions":["0.10.11-1"]},{"source":"osv","ecosystem":"PyPI","package":"bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.10.0"},{"fixed":"0.10.12"}]}],"versions":["0.10.1","0.10.10","0.10.11","0.10.2","0.10.3","0.10.4","0.10.5","0.10.6","0.10.7","0.10.8","0.10.9"]},{"source":"osv","ecosystem":"PyPI","package":"bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.11.0"},{"fixed":"0.11.7"}]}],"versions":["0.11.1","0.11.2","0.11.3","0.11.4","0.11.5","0.11.6"]},{"source":"osv","ecosystem":"PyPI","package":"bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.12.0"},{"fixed":"0.12.6"}]}],"versions":["0.12.1","0.12.2","0.12.3","0.12.4","0.12.5"]},{"source":"osv","ecosystem":"PyPI","package":"bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.8"},{"fixed":"0.10.12"},{"introduced":"0.11"},{"fixed":"0.11.7"},{"introduced":"0.12"},{"fixed":"0.12.6"}]}],"versions":["0.10.1","0.10.10","0.10.11","0.10.2","0.10.3","0.10.4","0.10.5","0.10.6","0.10.7","0.10.8","0.10.9","0.11.1","0.11.2","0.11.3","0.11.4","0.11.5","0.11.6","0.12.1","0.12.2","0.12.3","0.12.4","0.12.5","0.8.1","0.8.2","0.8.3","0.8.4","0.8.5","0.9.1","0.9.2","0.9.3","0.9.4","0.9.5","0.9.6","0.9.7","0.9.8"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"python-bottle","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.12.0-1ubuntu0.1~esm1"}]}],"versions":["0.11.6-1","0.12.0-1"]}],"products":[{"vendor":"bottlepy","product":"bottle"}],"references":[{"url":"https://github.com/defnull/bottle/issues/616","tags":["x_refsource_CONFIRM","x_transferred","report","web"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1093255","tags":["x_refsource_CONFIRM","x_transferred","Patch","Vendor Advisory","advisory","fix","web","report"]},{"url":"http://www.openwall.com/lists/oss-security/2014/05/01/15","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"http://www.debian.org/security/2014/dsa-2948","tags":["vendor-advisory","x_refsource_DEBIAN","x_transferred","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2014-3137","tags":["advisory"]},{"url":"https://github.com/bottlepy/bottle/issues/616","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/bottle/PYSEC-2014-77.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-873q-wpqr-xfgw","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2014-3137","tags":["advisory"]},{"url":"https://github.com/bottlepy/bottle","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2014-3137","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2014-3137","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2014-3137","description":"Bottle 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 does not properly limit content types, which allows remote attackers to bypass intended access restrictions via an accepted Content-Type followed by a ; (semi-colon) and a Content-Type that would not be accepted, as demonstrated in YouCompleteMe to execute arbitrary code.","status":"published","published":"2014-10-25T22:00:00Z","modified":"2024-08-06T10:35:56.668Z","updated_at":"2026-11-02T14:33:44.569327Z"}],"euvd":[{"id":"EUVD-2014-0004","description":"Bottle 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 does not properly limit content types, which allows remote attackers to bypass intended access restrictions via an accepted Content-Type followed by a ; (semi-colon) and a Content-Type that would not be accepted, as demonstrated in YouCompleteMe to execute arbitrary code.","status":"published","published":"2014-10-25T22:00:00Z","modified":"2024-08-06T10:35:56Z","updated_at":"2026-11-03T01:57:12.248788Z"}],"ghsa":[{"id":"GHSA-873q-wpqr-xfgw","title":"Bottle does not properly limit content-types","description":"Bottle 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 does not properly limit content types, which allows remote attackers to bypass intended access restrictions via an accepted Content-Type followed by a `;` (semi-colon) and a Content-Type that would not be accepted, as demonstrated in YouCompleteMe to execute arbitrary code.","status":"published","published":"2022-05-17T04:19:29Z","modified":"2024-09-13T17:57:20Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":8.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:38:02.773864Z"}],"nvd":[{"id":"CVE-2014-3137","description":"Bottle 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 does not properly limit content types, which allows remote attackers to bypass intended access restrictions via an accepted Content-Type followed by a ; (semi-colon) and a Content-Type that would not be accepted, as demonstrated in YouCompleteMe to execute arbitrary code.","status":"published","published":"2014-10-25T22:55:04.227Z","modified":"2026-06-17T00:07:39.407Z","cvss":[{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:02:56.921017Z"}],"osv":[{"id":"GHSA-873q-wpqr-xfgw","title":"Bottle does not properly limit content-types","description":"Bottle 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 does not properly limit content types, which allows remote attackers to bypass intended access restrictions via an accepted Content-Type followed by a `;` (semi-colon) and a Content-Type that would not be accepted, as demonstrated in YouCompleteMe to execute arbitrary code.","status":"published","published":"2022-05-17T04:19:29Z","modified":"2024-09-13T18:01:07.942594Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":8.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:42.077781Z"},{"id":"CVE-2014-3137","description":"Bottle 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 does not properly limit content types, which allows remote attackers to bypass intended access restrictions via an accepted Content-Type followed by a ; (semi-colon) and a Content-Type that would not be accepted, as demonstrated in YouCompleteMe to execute arbitrary code.","status":"published","published":"2014-10-25T22:55:04Z","modified":"2026-04-10T03:44:38.578978Z","updated_at":"2026-11-02T15:43:59.654289Z"},{"id":"DEBIAN-CVE-2014-3137","description":"Bottle 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 does not properly limit content types, which allows remote attackers to bypass intended access restrictions via an accepted Content-Type followed by a ; (semi-colon) and a Content-Type that would not be accepted, as demonstrated in YouCompleteMe to execute arbitrary code.","status":"published","published":"2014-10-25T22:55:04.227Z","modified":"2026-10-23T15:47:30.162118454Z","updated_at":"2026-11-02T15:45:26.134753Z"},{"id":"DSA-2948-1","title":"python-bottle - security update","status":"published","published":"2014-06-04T00:00:00Z","modified":"2026-03-09T01:21:23.466265Z","updated_at":"2026-11-02T15:46:15.843838Z"},{"id":"PYSEC-2014-77","description":"Bottle 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 does not properly limit content types, which allows remote attackers to bypass intended access restrictions via an accepted Content-Type followed by a ; (semi-colon) and a Content-Type that would not be accepted, as demonstrated in YouCompleteMe to execute arbitrary code.","status":"published","published":"2014-10-25T22:55:00Z","modified":"2026-06-10T17:00:37.925134064Z","updated_at":"2026-11-02T15:52:51.645172Z"},{"id":"UBUNTU-CVE-2014-3137","description":"Bottle 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 does not properly limit content types, which allows remote attackers to bypass intended access restrictions via an accepted Content-Type followed by a ; (semi-colon) and a Content-Type that would not be accepted, as demonstrated in YouCompleteMe to execute arbitrary code.","status":"published","published":"2014-10-25T22:55:00Z","modified":"2025-09-08T16:43:09Z","updated_at":"2026-11-02T15:54:09.010095Z"}]}}
