Bug 1226613 (CVE-2024-38602)

Summary: VUL-0: CVE-2024-38602: kernel: ax25: Fix reference count leak issues of ax25_dev
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Davide Benini <davide.benini>
Status: NEW --- QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: carlos.lopez, mhocko
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/411401/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-38602:4.7:(AV:L/AC:H/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-06-20 13:15:23 UTC
In the Linux kernel, the following vulnerability has been resolved:

ax25: Fix reference count leak issues of ax25_dev

The ax25_addr_ax25dev() and ax25_dev_device_down() exist a reference
count leak issue of the object "ax25_dev".

Memory leak issue in ax25_addr_ax25dev():

The reference count of the object "ax25_dev" can be increased multiple
times in ax25_addr_ax25dev(). This will cause a memory leak.

Memory leak issues in ax25_dev_device_down():

The reference count of ax25_dev is set to 1 in ax25_dev_device_up() and
then increase the reference count when ax25_dev is added to ax25_dev_list.
As a result, the reference count of ax25_dev is 2. But when the device is
shutting down. The ax25_dev_device_down() drops the reference count once
or twice depending on if we goto unlock_put or not, which will cause
memory leak.

As for the issue of ax25_addr_ax25dev(), it is impossible for one pointer
to be on a list twice. So add a break in ax25_addr_ax25dev(). As for the
issue of ax25_dev_device_down(), increase the reference count of ax25_dev
once in ax25_dev_device_up() and decrease the reference count of ax25_dev
after it is removed from the ax25_dev_list.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-38602
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2024/CVE-2024-38602.mbox
https://git.kernel.org/stable/c/ae467750a3765dd1092eb29f58247950a2f9b60c
https://git.kernel.org/stable/c/38eb01edfdaa1562fa00429be2e33f45383b1b3a
https://git.kernel.org/stable/c/81d8240b0a243b3ddd8fa8aa172f1acc2f7cc8f3
https://git.kernel.org/stable/c/1ea02699c7557eeb35ccff2bd822de1b3e09d868
https://git.kernel.org/stable/c/b505e0319852b08a3a716b64620168eab21f4ced
https://www.cve.org/CVERecord?id=CVE-2024-38602