{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-58496","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","state":"PUBLISHED","assignerShortName":"GitHub_M","dateReserved":"2026-06-30T20:21:25.813Z","datePublished":"2026-10-27T22:18:34.301Z","dateUpdated":"2026-10-27T22:18:34.301Z"},"containers":{"cna":{"title":"ThorVG: Out-of-bounds Read in SFNT/TTF Font Loader via Memory API","problemTypes":[{"descriptions":[{"cweId":"CWE-125","lang":"en","description":"CWE-125: Out-of-bounds Read","type":"CWE"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":4.3,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N","version":"3.1"}}],"references":[{"name":"https://github.com/thorvg/thorvg/security/advisories/GHSA-crfw-c34f-vqrj","tags":["x_refsource_CONFIRM"],"url":"https://github.com/thorvg/thorvg/security/advisories/GHSA-crfw-c34f-vqrj"},{"name":"https://github.com/thorvg/thorvg/commit/1dc232a33535946b5eed5fd65e993b13226da0ca","tags":["x_refsource_MISC"],"url":"https://github.com/thorvg/thorvg/commit/1dc232a33535946b5eed5fd65e993b13226da0ca"},{"name":"https://github.com/thorvg/thorvg/releases/tag/v1.0.7","tags":["x_refsource_MISC"],"url":"https://github.com/thorvg/thorvg/releases/tag/v1.0.7"}],"affected":[{"vendor":"thorvg","product":"thorvg","versions":[{"version":"< 1.0.7","status":"affected"}]}],"providerMetadata":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-10-27T22:18:34.301Z"},"descriptions":[{"lang":"en","value":"Thor Vector Graphics (ThorVG) is a production-ready vector graphics engine. Prior to 1.0.7, the `SFNT/TTF` font loader's `SfntLoader::gen` function in `tvgSfntLoader.cpp` reads `data[0] through data[3]` to identify the font type without first checking that the input buffer contains at least four bytes. Loading an undersized font directly from memory through public APIs such as `tvg::Text::load` causes an out-of-bounds read. Loading through a file path using `mmap` can mask the read because of page alignment; the memory-loading API directly exposes it. Depending on memory layout, a malformed short font may crash the consuming application or disclose adjacent heap memory. This issue is fixed in version 1.0.7."}],"source":{"advisory":"GHSA-crfw-c34f-vqrj","discovery":"UNKNOWN"}}}}