{"id":"CVE-2023-1999","summary":"Use after free in libwebp","details":"There exists a use after free/double free in libwebp. An attacker can use the ApplyFiltersAndEncode() function and loop through to free best.bw and assign best = trial pointer. The second loop will then return 0 because of an Out of memory error in VP8 encoder, the pointer is still assigned to trial and the AddressSanitizer will attempt a double free.","modified":"2026-05-28T04:08:52.503343096Z","published":"2023-06-20T11:28:52.547Z","related":["ALSA-2023:2076","ALSA-2023:2078","SUSE-SU-2023:2064-1","SUSE-SU-2023:2467-1","SUSE-SU-2023:2490-1","SUSE-SU-2023:2552-1","openSUSE-SU-2024:13019-1"],"database_specific":{"unresolved_ranges":[{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"0.4.2"},{"fixed":"1.3.1"},{"introduced":"0.4.2"},{"fixed":"1.3.0-8-ga486d800"}]}],"cwe_ids":["CWE-416"],"cna_assigner":"Google","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/1xxx/CVE-2023-1999.json"},"references":[{"type":"WEB","url":"https://chromium.googlesource.com/"},{"type":"WEB","url":"https://chromium.googlesource.com/webm/libwebp"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/1xxx/CVE-2023-1999.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-1999"},{"type":"ADVISORY","url":"https://security.gentoo.org/glsa/202309-05"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/webmproject/libwebp","events":[{"introduced":"6a2209aa366a4648c9d74d3434457d704f0a8fe1"},{"fixed":"fd7bb21c0cb56e8a82e9bfa376164b842f433f3b"}],"database_specific":{"extracted_events":[{"introduced":"0.4.2"},{"fixed":"1.3.1"}],"source":"CPE_RANGE","cpe":"cpe:2.3:a:webmproject:libwebp:*:*:*:*:*:*:*:*"}}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-1999.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N"}]}