Skip to main content
CVE-2024-22419VulnerabilityPublished Updated

CVE-2024-22419: vyperlang vyper · Classic Buffer Overflow

Affects vyperlang vyperSource CVE Database V5

0

Not known to be exploited · CVSS 7.3 High : upgrade to 0.4.0 soon.

Data as of 25 Oct 2026, 19:02 UTC

CVSS 3.1 base score
7.3High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.7% chance of exploitation in 30 days – higher than 55% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 0.4.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 18 Jan 2024

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 2026-10-25.

What to do

Upgrade vyperlang vyper to 0.4.0.

Affected software

ProductAffectedFixed in
PyPIvyperpkg:pypi/vyperOther threatsAffected
  • <0.4.0
Fixed in
  • 0.4.0

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

1. Immediate upgrade to Vyper version 0.4.0 or later, where the buffer overflow issue in `concat` has been fixed. 2. Conduct thorough code audits of existing smart contracts developed with Vyper versions prior to 0.4.0 to identify any usage of the `concat` built-in function, especially in internal functions near return statements. 3. Implement rigorous testing strategies including fuzz testing and boundary condition tests focused on byte array concatenations to detect any unexpected behavior caused by memory overflows. 4. For contracts already deployed, consider redeploying updated versions after thorough testing, as the immutable nature of blockchain contracts prevents patching in place. 5. Employ static and dynamic analysis tools specialized for smart contract security to detect potential memory safety issues. 6. Educate development teams on secure smart contract coding practices and the importance of using updated language versions. 7. Monitor blockchain activity for anomalous contract behavior that could indicate exploitation attempts. 8. Engage with blockchain security auditors to validate contract integrity post-migration to patched Vyper versions.

Description

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine. The `concat` built-in can write over the bounds of the memory buffer that was allocated for it and thus overwrite existing valid data. The root cause is that the `build_IR` for `concat` doesn't properly adhere to the API of copy functions (for `>=0.3.2` the `copy_bytes` function). A contract search was performed and no vulnerable contracts were found in production. The buffer overflow can result in the change of semantics of the contract. The overflow is length-dependent and thus it might go unnoticed during contract testing. However, certainly not all usages of concat will result in overwritten valid data as we require it to be in an internal function and close to the return statement where other memory allocations don't occur. This issue has been addressed in 0.4.0.

References

Community reviews

Loading reviews…