{"id":"CVE-2023-40014","aliases":["GHSA-g4vp-m682-qqmp"],"url":"https://o3.security/vulnerability/CVE-2023-40014","summary":"OpenZeppelin Contracts's ERC2771Context with custom forwarder may lead to zero-valued _msgSender","details":"### Impact\n\nOpenZeppelin Contracts is a library for secure smart contract development. Starting in version 4.0.0 and prior to version 4.9.3, contracts using `ERC2771Context` along with a custom trusted forwarder may see `_msgSender` return `address(0)` in calls that originate from the forwarder with calldata shorter than 20 bytes. This combination of circumstances does not appear to be common, in particular it is not the case for `MinimalForwarder` from OpenZeppelin Contracts, or any deployed forwarder the team is aware of, given that the signer address is appended to all calls that originate from these forwarders.\n\n### Patches\n\nThe problem has been patched in v4.9.3.\n","published":"2023-08-10T19:52:55.699Z","modified":"2026-10-28T02:30:51.754873069Z","cvss":{"score":5.3,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"},"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"@openzeppelin/contracts","fixedVersion":"4.9.3"},{"ecosystem":"npm","name":"@openzeppelin/contracts-upgradeable","fixedVersion":"4.9.3"}],"fix":{"url":"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/9445f96223041abf2bf08daa56f8da50b674cbcd","label":"OpenZeppelin/openzeppelin-contracts@9445f96"},"references":[{"type":"WEB","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.9.3"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/40xxx/CVE-2023-40014.json"},{"type":"ADVISORY","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-g4vp-m682-qqmp"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-40014"},{"type":"FIX","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/9445f96223041abf2bf08daa56f8da50b674cbcd"},{"type":"FIX","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/e4435eed757d4309436b1e06608e97b6d6e2fdb5"},{"type":"FIX","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4481"},{"type":"FIX","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4484"},{"type":"PACKAGE","url":"https://github.com/OpenZeppelin/openzeppelin-contracts"},{"type":"WEB","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.3/CHANGELOG.md"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-28T02:30:51.754873069Z"}}