Python CPython up to 3.14.x b64decode/standard_b64decode/urlsafe_b64decode type conversion

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
4.4$0-$5k0.00

Summaryinfo

A vulnerability classified as problematic has been found in Python CPython up to 3.14.x. This affects the function b64decode/standard_b64decode/urlsafe_b64decode. This manipulation causes an unknown weakness. The identification of this vulnerability is CVE-2025-12781. It is possible to initiate the attack remotely. There is no exploit available. It is recommended to upgrade the affected component.

Detailsinfo

A vulnerability has been found in Python CPython up to 3.14.x and classified as problematic. The CWE definition for the vulnerability is CWE-704. The product does not correctly convert an object, resource, or structure from one type to a different type. As an impact it is known to affect integrity. The summary by CVE is:

When passing data to the b64decode(), standard_b64decode(), and urlsafe_b64decode() functions in the "base64" module the characters "+/" will always be accepted, regardless of the value of "altchars" parameter, typically used to establish an "alternative base64 alphabet" such as the URL safe alphabet. This behavior matches what is recommended in earlier base64 RFCs, but newer RFCs now recommend either dropping characters outside the specified base64 alphabet or raising an error. The old behavior has the possibility of causing data integrity issues. This behavior can only be insecure if your application uses an alternate base64 alphabet (without "+/"). If your application does not use the "altchars" parameter or the urlsafe_b64decode() function, then your application does not use an alternative base64 alphabet. The attached patches DOES NOT make the base64-decode behavior raise an error, as this would be a change in behavior and break existing programs. Instead, the patch deprecates the behavior which will be replaced with the newly recommended behavior in a future version of Python. Users are recommended to mitigate by verifying user-controlled inputs match the base64 alphabet they are expecting or verify that their application would not be affected if the b64decode() functions accepted "+" or "/" outside of altchars.

The advisory is shared at github.com. This vulnerability is known as CVE-2025-12781 since 11/05/2025. The exploitation appears to be difficult. The attack can be launched remotely. The exploitation doesn't need any form of authentication. Technical details are known, but no exploit is available.

The vulnerability scanner Nessus provides a plugin with the ID 300978 (SUSE SLED15 / SLES15 / openSUSE 15 Security Update : python311 (SUSE-SU-2026:0767-1)), which helps to determine the existence of the flaw in a target environment.

Upgrading to version 3.15.0 eliminates this vulnerability. Applying a patch is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.

The vulnerability is also documented in the databases at Tenable (300978), EUVD (EUVD-2026-3598) and CERT Bund (WID-SEC-2026-0196). If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Affected

  • Red Hat Enterprise Linux
  • SUSE Linux
  • SUSE openSUSE
  • Open Source Python
  • Dell Secure Connect Gateway

Productinfo

Type

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Reliability: 🔍

CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒

CVSSv3info

VulDB Meta Base Score: 4.5
VulDB Meta Temp Score: 4.4

VulDB Base Score: 3.7
VulDB Temp Score: 3.6
VulDB Vector: 🔒
VulDB Reliability: 🔍

NVD Base Score: 5.3
NVD Vector: 🔒

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍

Exploitinginfo

Class: Type conversion
CWE: CWE-704
CAPEC: 🔒
ATT&CK: 🔒

Physical: No
Local: No
Remote: Yes

Availability: 🔒
Status: Not defined

EPSS Score: 🔒
EPSS Percentile: 🔒

Price Prediction: 🔍
Current Price Estimation: 🔒

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Nessus ID: 300978
Nessus Name: SUSE SLED15 / SLES15 / openSUSE 15 Security Update : python311 (SUSE-SU-2026:0767-1)

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: CPython 3.15.0
Patch: github.com

Timelineinfo

11/05/2025 CVE reserved
01/21/2026 +77 days VulDB entry created
01/22/2026 +0 days Advisory disclosed
04/24/2026 +92 days VulDB entry last update

Sourcesinfo

Product: github.com

Advisory: 125346
Status: Confirmed

CVE: CVE-2025-12781 (🔒)
GCVE (CVE): GCVE-0-2025-12781
GCVE (VulDB): GCVE-100-342229
EUVD: 🔒
CERT Bund: WID-SEC-2026-0196 - CPython: Schwachstelle ermöglicht nicht spezifizierten Angriff

Entryinfo

Created: 01/22/2026 00:35
Updated: 04/24/2026 14:05
Changes: 01/22/2026 00:35 (68), 01/22/2026 12:28 (1), 01/22/2026 12:57 (7), 01/24/2026 15:04 (2), 02/03/2026 05:01 (11), 03/08/2026 10:31 (2), 04/24/2026 14:05 (1)
Complete: 🔍
Cache ID: 216::103

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Might our Artificial Intelligence support you?

Check our Alexa App!