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): 1890
1008
Overflow vulnerability in Vyper (before version 0.3.8)

Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, due to missing overflow check for loop variables, by assigning the iterator of a loop to a variable, it is possible to overflow the type of the latter. The issue seems to happen only in loops of type `for i in range(a, a + N)` as in loops of type `for i in range(start, stop)` and `for i in range(stop)`, the compiler is able to raise a `TypeMismatch` when trying to overflow the variable. The problem has been patched in version 0.3.8.

Algorithm
Numeric Errors
Integer Overflows
Remote
1007
Code execution backdoor of hour_of_code_python_2015 via the request package in requirements.txt

hour_of_code_python_2015 commit 520929797b9ca43bb818b2e8f963fb2025459fa3 was discovered to contain a code execution backdoor via the request package (requirements.txt). This vulnerability allows attackers to access sensitive user information and execute arbitrary code.

Build/Package/Merge
Design Defects
Vulnerable and Outdated Components
Remote
1006
Out-of-bounds array access in Vyper (before version 0.3.8)

Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, during codegen, the length word of a dynarray is written before the data, which can result in out-of-bounds array access in the case where the dynarray is on both the lhs and rhs of an assignment. The issue can cause data corruption across call frames. The expected behavior is to revert due to out-of-bounds array access. Version 0.3.8 contains a patch for this issue.

Algorithm
Memory Corruption
Out-of-Bound Accesses
Remote
1005
Storage allocation overflow vulnerability in Vyper (before version 0.3.8)

Vyper is a pythonic smart contract language for the EVM. The storage allocator does not guard against allocation overflows in versions prior to 0.3.8. An attacker can overwrite the owner variable. This issue was fixed in version 0.3.8.

Assignment
Design Defects
Inadequate Error Handling
Remote
1004
Incorrect bytecode generation in Vyper (versions 0.3.1 through 0.3.7) for raw_call with specific parameters

Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions 0.3.1 through 0.3.7, the Vyper compiler generates the wrong bytecode. Any contract that uses the `raw_call` with `revert_on_failure=False` and `max_outsize=0` receives the wrong response from `raw_call`. Depending on the memory garbage, the result can be either `True` or `False`. A patch is available and, as of time of publication, anticipated to be part of Vyper 0.3.8. As a workaround, one may always put `max_outsize>0`.

Function
Design Defects
Inadequate Error Handling
Remote
1003
Unauthenticated directory traversal in flaskcode (through 0.0.8) allows writing to arbitrary files via a POST request to a /update-resource-data/ URI

An issue was discovered in the flaskcode package through 0.0.8 for Python. An unauthenticated directory traversal, exploitable with a POST request to a /update-resource-data/ URI (from views.py), allows attackers to write to arbitrary files.

Function
Input Validation and Sanitization
Path Traversal
Remote
1002
Unauthenticated directory traversal in flaskcode (through 0.0.8) allows reading arbitrary files via a GET request to a /resource-data/.txt URI

An issue was discovered in the flaskcode package through 0.0.8 for Python. An unauthenticated directory traversal, exploitable with a GET request to a /resource-data/.txt URI (from views.py), allows attackers to read arbitrary files.

Checking
Input Validation and Sanitization
Path Traversal
Remote
1001
Arbitrary code execution in langchain-ai (v0.0.232 and earlier) via PythonAstREPLTool._run component

An issue in langchain langchain-ai v.0.0.232 and before allows a remote attacker to execute arbitrary code via a crafted script to the PythonAstREPLTool._run component.

Interface
Input Validation and Sanitization
Insecure Parsing or Deserialization
Remote
1000
Critical use-after-free vulnerability in MicroPython 1.21.0/1.22.0-preview.

A vulnerability, which was classified as critical, has been found in MicroPython 1.21.0/1.22.0-preview. Affected by this issue is the function poll_set_add_fd of the file extmod/modselect.c. The manipulation leads to use after free. The exploit has been disclosed to the public and may be used. The patch is identified as 8b24aa36ba978eafc6114b6798b47b7bfecdca26. It is recommended to apply a patch to fix this issue. VDB-249158 is the identifier assigned to this vulnerability.

Interface
Memory Corruption
Use-After-Free Errors
Remote
997
Persistent cross-site scripting (XSS) in Gitlab Community Edition version 9.1 via IPython notebooks component

Gitlab Community Edition version 9.1 is vulnerable to lack of input validation in the IPython notebooks component resulting in persistent cross site scripting.

Interface
Configuration Issues
Cross-Site Scripting (XSS)
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 ::