Critical Vulnerability in Bottle Package: Content-Type Bypass Leading to Arbitrary Code Execution

python-bottle Updated 02 Oct 2025

Summary

25/10/2014
N/A
Yes i
Unrated
Not published

CVE-2014-3137: 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 follow... Affects python-bottle versions < 0.12.6-1. Fixed in 0.12.6-1. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

Bottle is a lightweight WSGI micro web framework for Python, designed for building small web applications quickly and easily. It is known for its simplicity and minimalistic approach, making it a popular choice for developers who need a straightforward solution for web development. However, certain versions of Bottle are vulnerable to a security issue that allows attackers to bypass access restrictions through improper handling of Content-Type headers.

Vulnerability Detail

The vulnerability, identified as CVE-2014-3137, affects Bottle versions 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6. It arises from the framework's failure to properly limit accepted Content-Types, allowing remote attackers to exploit this weakness. By sending a Content-Type header followed by a semicolon and an unaccepted Content-Type, attackers can potentially execute arbitrary code on the server. This could lead to unauthorized access, data manipulation, or further exploitation of the server environment.

How To Fix

Minimum fixed version

0.12.6-1

This is the first release that contains the fix.

sudo apt-get install --only-upgrade python-bottle

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If immediate upgrading is not feasible, a temporary workaround involves implementing additional validation on the server-side to restrict accepted Content-Types. This can be done by modifying the request handling logic to explicitly check and reject any Content-Type headers that do not conform to expected values. However, this is not a permanent solution and should be replaced with an upgrade as soon as possible.

Conclusion

The CVE-2014-3137 vulnerability in the Bottle package poses a significant risk due to improper handling of Content-Type headers, allowing for potential arbitrary code execution. It is crucial for users to upgrade to a secure version to mitigate this risk. Temporary workarounds can be implemented, but they should not replace a proper update.

See every vulnerability recorded for python-bottle →

Share this vulnerability

FAQ

Bottle versions 0.10.x before 0.10.12, 0.11.x before 0.11.7, and 0.12.x before 0.12.6 are affected.

Exploitation of this vulnerability could allow attackers to execute arbitrary code on the server, leading to unauthorized access and potential data breaches.

You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.

Yes, implementing additional validation on Content-Type headers can serve as a temporary workaround until an upgrade is possible.

More details can be found in the CVE database under CVE-2014-3137 and related advisories.

Related vulnerabilities

Recent vulnerabilities recorded for python-bottle.

How To Fix

Minimum fixed version

0.12.6-1

This is the first release that contains the fix.

sudo apt-get install --only-upgrade python-bottle

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback