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): 1612
1010
CVE-2023-32059
Incorrect internal call argument defaults in Vyper

Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, internal calls with default arguments are compiled incorrectly. Depending on the number of arguments provided in the call, the defaults are added not right-to-left, but left-to-right. If the types are incompatible, typechecking is bypassed. The ability to pass kwargs to internal functions is an undocumented feature that is not well known about. The issue is patched in version 0.3.8.

Interface
Design Defects
Inadequate Error Handling
Remote
1009
CVE-2023-32675
Vyper default function nonpayable issue

Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. In contracts with more than one regular nonpayable function, it is possible to send funds to the default function, even if the default function is marked `nonpayable`. This applies to contracts compiled with vyper versions prior to 0.3.8. This issue was fixed by the removal of the global `calldatasize` check in commit `02339dfda`. Users are advised to upgrade to version 0.3.8. Users unable to upgrade should avoid use of nonpayable default functions.

Interface
Authentication, Authorization, and Session Management
Insecure Authentication Mechanisms
Remote
1008
CVE-2023-32058
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
CVE-2023-24107
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
CVE-2023-31146
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
CVE-2023-30837
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
CVE-2023-30629
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
CVE-2023-52289
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
CVE-2023-52288
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
CVE-2023-39659
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
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 ::