Bug 2300442 (CVE-2024-41066) - CVE-2024-41066 kernel: ibmvnic: Add tx check to prevent skb leak
Summary: CVE-2024-41066 kernel: ibmvnic: Add tx check to prevent skb leak
Keywords:
Status: NEW
Alias: CVE-2024-41066
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2301616
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-29 15:44 UTC by OSIDB Bzimport
Modified: 2024-11-18 01:20 UTC (History)
4 users (show)

Fixed In Version: kernel 6.1.101, kernel 6.6.42, kernel 6.9.11, kernel 6.10
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2024:9635 0 None None None 2024-11-14 10:00:05 UTC
Red Hat Product Errata RHBA-2024:9811 0 None None None 2024-11-18 01:20:36 UTC
Red Hat Product Errata RHSA-2024:8157 0 None None None 2024-10-16 00:20:28 UTC
Red Hat Product Errata RHSA-2024:8158 0 None None None 2024-10-16 00:09:28 UTC
Red Hat Product Errata RHSA-2024:8856 0 None None None 2024-11-05 01:10:14 UTC
Red Hat Product Errata RHSA-2024:8870 0 None None None 2024-11-05 00:50:01 UTC
Red Hat Product Errata RHSA-2024:9546 0 None None None 2024-11-13 15:48:50 UTC

Description OSIDB Bzimport 2024-07-29 15:44:06 UTC
In the Linux kernel, the following vulnerability has been resolved:

ibmvnic: Add tx check to prevent skb leak

Below is a summary of how the driver stores a reference to an skb during
transmit:
    tx_buff[free_map[consumer_index]]->skb = new_skb;
    free_map[consumer_index] = IBMVNIC_INVALID_MAP;
    consumer_index ++;
Where variable data looks like this:
    free_map == [4, IBMVNIC_INVALID_MAP, IBMVNIC_INVALID_MAP, 0, 3]
                                               	consumer_index^
    tx_buff == [skb=null, skb=<ptr>, skb=<ptr>, skb=null, skb=null]

The driver has checks to ensure that free_map[consumer_index] pointed to
a valid index but there was no check to ensure that this index pointed
to an unused/null skb address. So, if, by some chance, our free_map and
tx_buff lists become out of sync then we were previously risking an
skb memory leak. This could then cause tcp congestion control to stop
sending packets, eventually leading to ETIMEDOUT.

Therefore, add a conditional to ensure that the skb address is null. If
not then warn the user (because this is still a bug that should be
patched) and free the old pointer to prevent memleak/tcp problems.

Comment 1 Mauro Matteo Cascella 2024-07-30 12:55:29 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2024072907-CVE-2024-41066-0a52@gregkh/T

Comment 3 Mauro Matteo Cascella 2024-07-30 12:55:54 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 2301616]

Comment 13 errata-xmlrpc 2024-10-16 00:09:27 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9.2 Extended Update Support

Via RHSA-2024:8158 https://access.redhat.com/errata/RHSA-2024:8158

Comment 14 errata-xmlrpc 2024-10-16 00:20:27 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9.2 Extended Update Support

Via RHSA-2024:8157 https://access.redhat.com/errata/RHSA-2024:8157

Comment 15 errata-xmlrpc 2024-11-05 00:50:00 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2024:8870 https://access.redhat.com/errata/RHSA-2024:8870

Comment 16 errata-xmlrpc 2024-11-05 01:10:13 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2024:8856 https://access.redhat.com/errata/RHSA-2024:8856

Comment 17 errata-xmlrpc 2024-11-13 15:48:49 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9.4 Extended Update Support

Via RHSA-2024:9546 https://access.redhat.com/errata/RHSA-2024:9546


Note You need to log in before you can comment on or make changes to this bug.