Quick answers
- Is CVE-2026-114118 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-114118 being exploited in the wild.
- How severe is CVE-2026-114118?
- Medium severity, with a CVSS score of 4.8, published 21 October 2026.
- Which products and versions are affected?
- Vyper 0.3.4 through 0.5.0b1.
- Is there a fix for CVE-2026-114118?
- No fixed version is recorded yet. Use a fixed, valid code_offset (such as 3) rather than accepting user-controlled values, or explicitly enforce the bound code_offset < extcodesize(target) using unsigned comparison before subtraction in create_from_blueprint.</anigation> <parameter name="timeline">[{"kind": "disclosed", "at": "2026-10-06"}, {"kind": "advisory", "at": "2026-10-20"}] If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
- How is CVE-2026-114118 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-114118?
- Check whether you run Vyper at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
Use a fixed, valid code_offset (such as 3) rather than accepting user-controlled values, or explicitly enforce the bound code_offset < extcodesize(target) using unsigned comparison before subtraction in create_from_blueprint.</anigation> <parameter name="timeline">[{"kind": "disclosed", "at": "2026-10-06"}, {"kind": "advisory", "at": "2026-10-20"}]
Technical details
Vyper's create_from_blueprint builtin computes remaining blueprint code size via unsigned subtraction without first validating code_offset bounds, allowing integer wraparound to produce a small positive value that bypasses the signed comparison check. An attacker controlling code_offset can cause the EXTCODECOPY operation to read beyond the blueprint, filling the destination with zeros and resulting in initcode that starts with STOP, deploying a contract with no runtime code. This is a type confusion/incorrect comparison issue (CWE-681, CWE-697) requiring direct control of the code_offset parameter.
Affected products
- Vyper Vyper 0.3.4 through 0.5.0b1