Bug 2358174

Summary: CVE-2025-3406 retroarch: Nothings stb Header Array out-of-bounds read [fedora-40]
Product: [Fedora] Fedora Reporter: Michal Findra <mfindra>
Component: retroarchAssignee: Artem <ego.cordatus>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 40CC: code, ego.cordatus
Target Milestone: ---Keywords: Security, SecurityTracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: {"flaws": ["96050952-a272-4f37-86e9-f22f264ca614"]}
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-04-08 10:05:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2358118    

Description Michal Findra 2025-04-08 06:11:31 UTC
More information about this security flaw is available in the following bug:

http://bugzilla.redhat.com/show_bug.cgi?id=2358118

Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

Comment 1 Ben Beasley 2025-04-08 10:05:32 UTC
http://nvd.nist.gov/vuln/detail/CVE-2025-3406

The CVE contains little detail and no suggested mitigation.

It is easy to see how an incorrect image-width argument w to the function stbhw_build_tileset_from_image could result in an out-of-bounds read in the data buffer, but an API user only supplies the buffer size indirectly via the w and h arguments, so it’s incumbent on the API user to make sure they are sane – there is nothing that can be done within stbhw_build_tileset_from_image to further validate them.

I am inclined to suggest that this CVE is invalid: the API user must provide a consistent width, height, and data buffer. We don’t say that memcpy() is vulnerable because an API user could pass it the wrong size argument n.

Comment 2 Ben Beasley 2025-04-08 10:10:26 UTC
Furthermore:

The retroarch source package declares bundled(stb), but it only specifically includes stb_image, stb_rect_pack, stb_truetype, and stb_vorbis. The CVE was reported against stbhw_build_tileset_from_image, so retroarch cannot be affected.