VAITP Dataset

Dataset Statistics
Search for CVE
#
CVE
Vulnerability
ODC
Category
Subcategory
Accessibility Scope
Details
Total vulnerabilities in the dataset (not showing ignored and non-python related vulnerabilties): 1438
944
CVE-2023-46404
PCRS <= 3.11 (d0de1e) remote code execution (RCE)

PCRS <= 3.11 (d0de1e) โ€œQuestionsโ€ page and โ€œCode editorโ€ page are vulnerable to remote code execution (RCE) by escaping Python sandboxing.

Checking
Input Validation and Sanitization
Command Injection
Remote
943
CVE-2023-47204
Unsafe YAML deserialization in transmute-core before 1.13.5 in yaml.Loader

Unsafe YAML deserialization in yaml.Loader in transmute-core before 1.13.5 allows attackers to execute arbitrary Python code.

Timing/Serialization
Input Validation and Sanitization
Insecure Parsing or Deserialization
Local
942
CVE-2020-17163
VS Code Python extension RCE

Visual Studio Code Python Extension, before (<) 2020.9.2, Remote Code Execution Vulnerability

Checking
Input Validation and Sanitization
Command Injection
Remote
941
CVE-2023-44271
Denial of Service in Pillow before 10.0.0 via ImageFont in ImageDraw with long text argument

An issue was discovered in Pillow before 10.0.0. It is a Denial of Service that uncontrollably allocates memory to process a given task, potentially causing a service to crash by having it run out of memory. This occurs for truetype in ImageFont when textlength in an ImageDraw instance operates on a long text argument.

Function
Resource Management
Resource Exhaustion
Remote
940
CVE-2023-49797
PyInstaller < 5.13.1 privilege escalation via symlink attack in applications with matplotlib or win32com run as administrator with an unsecured temporary directory.

PyInstaller bundles a Python application and all its dependencies into a single package. A PyInstaller built application, elevated as a privileged process, may be tricked by an unprivileged attacker into deleting files the unprivileged user does not otherwise have access to. A user is affected if **all** the following are satisfied: 1. The user runs an application containing either `matplotlib` or `win32com`. 2. The application is ran as administrator (or at least a user with higher privileges than the attacker). 3. The user's temporary directory is not locked to that specific user (most likely due to `TMP`/`TEMP` environment variables pointing to an unprotected, arbitrary, non default location). Either: A. The attacker is able to very carefully time the replacement of a temporary file with a symlink. This switch must occur exactly between `shutil.rmtree()`'s builtin symlink check and the deletion itself B: The application was built with Python 3.7.x or earlier which has no protection against Directory Junctions links. The vulnerability has been addressed in PR #7827 which corresponds to `pyinstaller >= 5.13.1`. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Checking
Information Leakage
Insecure Handling of Sensitive Data
Remote
939
CVE-2023-6572
Sensitive information exposure in gradio-app/gradio GitHub repository prior to main branch

Exposure of Sensitive Information to an Unauthorized Actor in GitHub repository gradio-app/gradio prior to main.

Function
Information Leakage
Insecure Handling of Sensitive Data
Remote
938
CVE-2023-46247
Storage slot calculation in Vyper prior to v0.3.8 may underallocate by 1 for large arrays with specific byte sizes.

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). Contracts containing large arrays might underallocate the number of slots they need by 1. Prior to v0.3.8, the calculation to determine how many slots a storage variable needed used `math.ceil(type_.size_in_bytes / 32)`. The intermediate floating point step can produce a rounding error if there are enough bits set in the IEEE-754 mantissa. Roughly speaking, if `type_.size_in_bytes` is large (> 2**46), and slightly less than a power of 2, the calculation can overestimate how many slots are needed by 1. If `type_.size_in_bytes` is slightly more than a power of 2, the calculation can underestimate how many slots are needed by 1. This issue is patched in version 0.3.8.

Checking
Numeric Errors
Rounding Errors
Remote
937
CVE-2023-52323
Verification flaw in ACA-Py 0.7.0 to 0.10.4 allows malicious replay of W3C Format Verifiable Credentials with JSON-LD Linked Data Proofs (LDPs)

PyCryptodome and pycryptodomex before 3.19.1 allow side-channel leakage for OAEP decryption, exploitable for a Manger attack.

Timing/Serialization
Cryptographic
Cryptographic Implementation Error
Remote
936
CVE-2024-21669

Hyperledger Aries Cloud Agent Python (ACA-Py) is a foundation for building decentralized identity applications and services running in non-mobile environments. When verifying W3C Format Verifiable Credentials using JSON-LD with Linked Data Proofs (LDP-VCs), the result of verifying the presentation `document.proof` was not factored into the final `verified` value (`true`/`false`) on the presentation record. The flaw enables holders of W3C Format Verifiable Credentials using JSON-LD with Linked Data Proofs (LDPs) to present incorrectly constructed proofs, and allows malicious verifiers to save and replay a presentation from such holders as their own. This vulnerability has been present since version 0.7.0 and fixed in version 0.10.5.

Checking
Information Leakage
Insecure Handling of Sensitive Data
Remote
935
CVE-2023-51663
Hail tool OIDC email validation vulnerability allows unauthorized resource access and potential Azure Tenant creation

Hail is an open-source, general-purpose, Python-based data analysis tool with additional data types and methods for working with genomic data. Hail relies on OpenID Connect (OIDC) email addresses from ID tokens to verify the validity of a user's domain, but because users have the ability to change their email address, they could create accounts and use resources in clusters that they should not have access to. For example, a user could create a Microsoft or Google account and then change their email to `test@example.org`. This account can then be used to create a Hail Batch account in Hail Batch clusters whose organization domain is `example.org`. The attacker is not able to access private data or impersonate another user, but they would have the ability to run jobs if Hail Batch billing projects are enabled and create Azure Tenants if they have Azure Active Directory Administrator access.

Checking
Authentication, Authorization, and Session Management
Insecure Authentication Mechanisms
Remote
Introducing the "VAITP dataset": a specialized repository of Python vulnerabilities and patches, meticulously compiled for the use of the security research community. As Python's prominence grows, understanding and addressing potential security vulnerabilities become crucial. Crafted by and for the cybersecurity community, this dataset offers a valuable resource for researchers, analysts, and developers to analyze and mitigate the security risks associated with Python. Through the comprehensive exploration of vulnerabilities and corresponding patches, the VAITP dataset fosters a safer and more resilient Python ecosystem, encouraging collaborative advancements in programming security.

The supreme art of war is to subdue the enemy without fighting.

Sun Tzu – “The Art of War”

:: Shaping the future through research and ingenuity ::