CVE-2024-22419: vyperlang vyper · Classic Buffer Overflow
Affects vyperlang vyperSource CVE Database V5
Not known to be exploited · CVSS 7.3 High : upgrade to 0.4.0 soon.
Data as of 25 Oct 2026, 19:02 UTC
- 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:LExploitation evidence
Disclosed: evidence found.
CVE published 18 Jan 2024
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by 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
| Product | Affected | Fixed in |
|---|---|---|
PyPIvyperpkg:pypi/vyperOther threats | Affected
| Fixed in
|
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.