Bug 1227998 (CVE-2022-48854)

Summary: VUL-0: CVE-2022-48854: kernel: net: arc_emac: Fix use after free in arc_mdio_probe()
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Security Team bot <security-team>
Status: RESOLVED FIXED QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: gianluca.gabrielli, miroslav.franc
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/414272/
Whiteboard: CVSSv3.1:SUSE:CVE-2022-48854:5.5:(AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-07-17 07:50:42 UTC
In the Linux kernel, the following vulnerability has been resolved:

net: arc_emac: Fix use after free in arc_mdio_probe()

If bus->state is equal to MDIOBUS_ALLOCATED, mdiobus_free(bus) will free
the "bus". But bus->name is still used in the next line, which will lead
to a use after free.

We can fix it by putting the name in a local variable and make the
bus->name point to the rodata section "name",then use the name in the
error message without referring to bus to avoid the uaf.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2022-48854
https://www.cve.org/CVERecord?id=CVE-2022-48854
https://git.kernel.org/stable/c/84c831803785c2c3bec5c28c0e8a0b72f6b41d4d
https://git.kernel.org/stable/c/bc0e610a6eb0d46e4123fafdbe5e6141d9fff3be
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2022/CVE-2022-48854.mbox
https://bugzilla.redhat.com/show_bug.cgi?id=2298195
Comment 4 Andrea Mattiazzo 2024-07-19 12:45:41 UTC
All done, closing.