CVE-2023-42443

Published on: Not Yet Published

Last Modified on: 09/22/2023 02:30:00 PM UTC

CVE-2023-42443 - advisory for GHSA-c647-pxm2-c52w

Source: Mitre Source: NIST CVE.ORG Print: PDF PDF
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Certain versions of Vyper from Vyperlang contain the following vulnerability:

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). In version 0.3.9 and prior, under certain conditions, the memory used by the builtins `raw_call`, `create_from_blueprint` and `create_copy_of` can be corrupted. For `raw_call`, the argument buffer of the call can be corrupted, leading to incorrect `calldata` in the sub-context. For `create_from_blueprint` and `create_copy_of`, the buffer for the to-be-deployed bytecode can be corrupted, leading to deploying incorrect bytecode. Each builtin has conditions that must be fulfilled for the corruption to happen. For `raw_call`, the `data` argument of the builtin must be `msg.data` and the `value` or `gas` passed to the builtin must be some complex expression that results in writing to the memory. For `create_copy_of`, the `value` or `salt` passed to the builtin must be some complex expression that results in writing to the memory. For `create_from_blueprint`, either no constructor parameters should be passed to the builtin or `raw_args` should be set to True, and the `value` or `salt` passed to the builtin must be some complex expression that results in writing to the memory. As of time of publication, no patched version exists. The issue is still being investigated, and there might be other cases where the corruption might happen. When the builtin is being called from an `internal` function `F`, the issue is not present provided that the function calling `F` wrote to memory before calling `F`. As a workaround, the complex expressions that are being passed as kwargs to the builtin should be cached in memory prior to the call to the builtin.

  • CVE-2023-42443 has been assigned by URL Logo security-adviso[email protected] to track the vulnerability - currently rated as HIGH severity.
  • Affected Vendor/Software: URL Logo vyperlang - vyper version = <= 0.3.9

CVSS3 Score: 8.1 - HIGH

Attack
Vector
Attack
Complexity
Privileges
Required
User
Interaction
NETWORK HIGH NONE NONE
Scope Confidentiality
Impact
Integrity
Impact
Availability
Impact
UNCHANGED HIGH HIGH HIGH

CVE References

Description Tags Link
tracking issue for GHSA-c647-pxm2-c52w (memory initialization in builtins using msize) · Issue #3609 · vyperlang/vyper · GitHub github.com
text/html
URL Logo MISC github.com/vyperlang/vyper/issues/3609
memory corruption in certain builtins utilizing `msize` · Advisory · vyperlang/vyper · GitHub github.com
text/html
URL Logo MISC github.com/vyperlang/vyper/security/advisories/GHSA-c647-pxm2-c52w

Known Affected Configurations (CPE V2.3)

Type Vendor Product Version Update Edition Language
ApplicationVyperlangVyperAllAllAllAll
  • cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:python:*:*:
© CVE.report 2023 Twitter Nitter Twitter Viewer |

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

CVE.report and Source URL Uptime Status status.cve.report