Bug 1678423 (CVE-2019-3837) - CVE-2019-3837 kernel: memory leak in tcp_recvmsg() with NET_DMA
Summary: CVE-2019-3837 kernel: memory leak in tcp_recvmsg() with NET_DMA
Keywords:
Status: CLOSED WONTFIX
Alias: CVE-2019-3837
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1678168
Blocks: 1678424
TreeView+ depends on / blocked
 
Reported: 2019-02-18 17:59 UTC by Pedro Sampaio
Modified: 2023-02-11 18:56 UTC (History)
48 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
It was found that the net_dma code in tcp_recvmsg() in the RHEL6 kernel is thread-unsafe. So an unprivileged multi-threaded userspace application calling recvmsg() for the same network socket in parallel executed on ioatdma-enabled hardware with net_dma enabled can leak the memory, crash the host leading to a denial of service or cause a random memory corruption.
Clone Of:
Environment:
Last Closed: 2019-09-05 12:59:26 UTC
Embargoed:


Attachments (Terms of Use)

Description Pedro Sampaio 2019-02-18 17:59:16 UTC
It was found that the net_dma code in tcp_recvmsg() in the RHEL6 kernel is thread-unsafe. So an unprivileged multi-threaded userspace application calling recvmsg() for the same network socket in parallel executed on ioatdma-enabled hardware with net_dma enabled can leak the memory, crash the host leading to a denial-of-service, or cause a random memory corruption.

References:

https://seclists.org/oss-sec/2019/q2/7

https://bugs.openvz.org/browse/OVZ-7080

An upstream fix:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=77873803363c

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7bced397510a

Comment 1 Vladis Dronov 2019-02-19 10:30:28 UTC
Acknowledgements:

Name: Vasily Averin (Virtuozzo Kernel Team)


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