{"id":"GHSA-g4vp-m682-qqmp","summary":"OpenZeppelin Contracts vulnerable to Improper Escaping of Output","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","aliases":["CVE-2023-40014"],"modified":"2023-11-08T04:13:16.291927Z","published":"2023-08-11T19:00:48Z","database_specific":{"github_reviewed_at":"2023-08-11T19:00:48Z","nvd_published_at":"2023-08-10T20:15:10Z","cwe_ids":["CWE-116"],"severity":"MODERATE","github_reviewed":true},"references":[{"type":"WEB","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":"WEB","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4481"},{"type":"WEB","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4484"},{"type":"WEB","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/9445f96223041abf2bf08daa56f8da50b674cbcd"},{"type":"WEB","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/e4435eed757d4309436b1e06608e97b6d6e2fdb5"},{"type":"PACKAGE","url":"https://github.com/OpenZeppelin/openzeppelin-contracts"},{"type":"WEB","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.3/CHANGELOG.md"},{"type":"WEB","url":"https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.9.3"}],"affected":[{"package":{"name":"@openzeppelin/contracts","ecosystem":"npm","purl":"pkg:npm/%40openzeppelin/contracts"},"ranges":[{"type":"SEMVER","events":[{"introduced":"4.0.0"},{"fixed":"4.9.3"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/08/GHSA-g4vp-m682-qqmp/GHSA-g4vp-m682-qqmp.json"}},{"package":{"name":"@openzeppelin/contracts-upgradeable","ecosystem":"npm","purl":"pkg:npm/%40openzeppelin/contracts-upgradeable"},"ranges":[{"type":"SEMVER","events":[{"introduced":"4.0.0"},{"fixed":"4.9.3"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/08/GHSA-g4vp-m682-qqmp/GHSA-g4vp-m682-qqmp.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}]}