CVE-2021-47587
published 2024-06-19CVE-2021-47587: In the Linux kernel, the following vulnerability has been resolved: net: systemport: Add global locking for descriptor lifecycle The descriptor list is a…
PriorityP423medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.55%
42.8th percentile
In the Linux kernel, the following vulnerability has been resolved:
net: systemport: Add global locking for descriptor lifecycle
The descriptor list is a shared resource across all of the transmit queues, and
the locking mechanism used today only protects concurrency across a given
transmit queue between the transmit and reclaiming. This creates an opportunity
for the SYSTEMPORT hardware to work on corrupted descriptors if we have
multiple producers at once which is the case when using multiple transmit
queues.
This was particularly noticeable when using multiple flows/transmit queues and
it showed up in interesting ways in that UDP packets would get a correct UDP
header checksum being calculated over an incorrect packet length. Similarly TCP
packets would get an equally correct checksum computed by the hardware over an
incorrect packet length.
The SYSTEMPORT hardware maintains an internal descriptor list that it re-arranges
when the driver produces a new descriptor anytime it writes to the
WRITE_PORT_{HI,LO} registers, there is however some delay in the hardware to
re-organize its descriptors and it is possible that concurrent TX queues
eventually break this internal allocation scheme to the point where the
length/status part of the descriptor gets used for an incorrect data buffer.
The fix is to impose a global serialization for all TX queues in the short
section where we are writing to the WRITE_PORT_{HI,LO} registers which solves
the corruption even with multiple concurrent TX queues being used.
Affected
27 ranges· showing 25
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | linux | < linux 5.15.15-1 (bookworm) | linux 5.15.15-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | >= 80105befdb4b8cea924711b40b2462b87df65b62 < 8ed2f5d08d6e59f8c78b2869bfb95d0be32c094c | 8ed2f5d08d6e59f8c78b2869bfb95d0be32c094c |
| linux | linux | >= 80105befdb4b8cea924711b40b2462b87df65b62 < de57f62f76450b934de8203711bdc4f7953c3421 | de57f62f76450b934de8203711bdc4f7953c3421 |
| linux | linux | >= 80105befdb4b8cea924711b40b2462b87df65b62 < f3fde37d3f0d429f0fcce214cb52588a9e21260e | f3fde37d3f0d429f0fcce214cb52588a9e21260e |
| linux | linux | >= 80105befdb4b8cea924711b40b2462b87df65b62 < 595a684fa6f23b21958379a18cfa83862c73c2e1 | 595a684fa6f23b21958379a18cfa83862c73c2e1 |
| linux | linux | >= 80105befdb4b8cea924711b40b2462b87df65b62 < c675256a7f131f5ba3f331efb715e8f31ea0e392 | c675256a7f131f5ba3f331efb715e8f31ea0e392 |
| linux | linux | >= 80105befdb4b8cea924711b40b2462b87df65b62 < 6e1011cd183faae8daff275c72444edcdfe0d473 | 6e1011cd183faae8daff275c72444edcdfe0d473 |
| linux | linux | >= 80105befdb4b8cea924711b40b2462b87df65b62 < eb4687c7442942e115420a30185f8d83faf37696 | eb4687c7442942e115420a30185f8d83faf37696 |
| linux | linux | >= 80105befdb4b8cea924711b40b2462b87df65b62 < 8b8e6e782456f1ce02a7ae914bbd5b1053f0b034 | 8b8e6e782456f1ce02a7ae914bbd5b1053f0b034 |
| linux | linux_kernel | — | — |
| linux | linux_kernel | — | — |
| linux | linux_kernel | — | — |
| linux | linux_kernel | — | — |
| linux | linux_kernel | — | — |
| linux | linux_kernel | >= 0 < 5.10.92-1 | 5.10.92-1 |
| linux | linux_kernel | >= 0 < 5.15.15-1 | 5.15.15-1 |
| linux | linux_kernel | >= 0 < 5.15.15-1 | 5.15.15-1 |
| linux | linux_kernel | >= 0 < 5.15.15-1 | 5.15.15-1 |
| linux | linux_kernel | >= 0 < 4.4.0-268.302 | 4.4.0-268.302 |
| linux | linux_kernel | >= 3.16 < 4.4.296 | 4.4.296 |
| linux | linux_kernel | >= 4.10 < 4.14.259 | 4.14.259 |
| linux | linux_kernel | >= 4.15 < 4.19.222 | 4.19.222 |
| linux | linux_kernel | >= 4.20 < 5.4.168 | 5.4.168 |
| linux | linux_kernel | >= 4.5 < 4.9.294 | 4.9.294 |
CVSS provenance
nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv7.8HIGH
vendor_ubuntu7.8HIGH
vendor_debian5.5MEDIUM
vendor_redhat5.5MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Ubuntu
Linux kernel (Xenial HWE) vulnerabilities
vendor_ubuntu·2025-05-13·CVSS 7.8
CVE-2024-56650 [HIGH] Linux kernel (Xenial HWE) vulnerabilities
Title: Linux kernel (Xenial HWE) vulnerabilities
Summary: Several security issues were fixed in the Linux kernel.
Demi Marie Obenour and Simon Gaiser discovered that several Xen para-
virtualization device frontends did not properly restrict the access rights
of device backends. An attacker could possibly use a malicious Xen backend
to gain access to memory pages of a guest VM or cause a denial of service
in the guest. (CVE-2022-23041)
Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
- Hardware crypto device drivers;
- GPU drivers;
- IIO subsystem;
- Media drivers;
- Network drivers;
- SCSI subsystem;
- SPI subsystem;
- USB Gadget drivers;
- Ceph distributed
Ubuntu
Linux kernel (FIPS) vulnerabilities
vendor_ubuntu·2025-05-12·CVSS 7.8
CVE-2024-56650 [HIGH] Linux kernel (FIPS) vulnerabilities
Title: Linux kernel (FIPS) vulnerabilities
Summary: Several security issues were fixed in the Linux kernel.
Demi Marie Obenour and Simon Gaiser discovered that several Xen para-
virtualization device frontends did not properly restrict the access rights
of device backends. An attacker could possibly use a malicious Xen backend
to gain access to memory pages of a guest VM or cause a denial of service
in the guest. (CVE-2022-23041)
Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
- Hardware crypto device drivers;
- GPU drivers;
- IIO subsystem;
- Media drivers;
- Network drivers;
- SCSI subsystem;
- SPI subsystem;
- USB Gadget drivers;
- Ceph distributed file
Ubuntu
Linux kernel vulnerabilities
vendor_ubuntu·2025-05-12·CVSS 7.8
CVE-2024-56650 [HIGH] Linux kernel vulnerabilities
Title: Linux kernel vulnerabilities
Summary: Several security issues were fixed in the Linux kernel.
Demi Marie Obenour and Simon Gaiser discovered that several Xen para-
virtualization device frontends did not properly restrict the access rights
of device backends. An attacker could possibly use a malicious Xen backend
to gain access to memory pages of a guest VM or cause a denial of service
in the guest. (CVE-2022-23041)
Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
- Hardware crypto device drivers;
- GPU drivers;
- IIO subsystem;
- Media drivers;
- Network drivers;
- SCSI subsystem;
- SPI subsystem;
- USB Gadget drivers;
- Ceph distributed file system;
Ubuntu
Linux kernel (AWS) vulnerabilities
vendor_ubuntu·2025-05-12·CVSS 7.8
CVE-2023-52741 [HIGH] Linux kernel (AWS) vulnerabilities
Title: Linux kernel (AWS) vulnerabilities
Summary: Several security issues were fixed in the Linux kernel.
Demi Marie Obenour and Simon Gaiser discovered that several Xen para-
virtualization device frontends did not properly restrict the access rights
of device backends. An attacker could possibly use a malicious Xen backend
to gain access to memory pages of a guest VM or cause a denial of service
in the guest. (CVE-2022-23041)
Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
- Hardware crypto device drivers;
- GPU drivers;
- IIO subsystem;
- Media drivers;
- Network drivers;
- SCSI subsystem;
- SPI subsystem;
- USB Gadget drivers;
- Ceph distributed file s
Red Hat
kernel: net: systemport: Add global locking for descriptor lifecycle
vendor_redhat·2024-06-19·CVSS 5.5
CVE-2021-47587 [MEDIUM] CWE-667 kernel: net: systemport: Add global locking for descriptor lifecycle
kernel: net: systemport: Add global locking for descriptor lifecycle
In the Linux kernel, the following vulnerability has been resolved:
net: systemport: Add global locking for descriptor lifecycle
The descriptor list is a shared resource across all of the transmit queues, and
the locking mechanism used today only protects concurrency across a given
transmit queue between the transmit and reclaiming. This creates an opportunity
for the SYSTEMPORT hardware to work on corrupted descriptors if we have
multiple producers at once which is the case when using multiple transmit
queues.
This was particularly noticeable when using multiple flows/transmit queues and
it showed up in interesting ways in that UDP packets would get a correct UDP
header checksum being calculated over an incorrect packet
Debian
CVE-2021-47587: linux - In the Linux kernel, the following vulnerability has been resolved: net: system...
vendor_debian·2021·CVSS 5.5
CVE-2021-47587 [MEDIUM] CVE-2021-47587: linux - In the Linux kernel, the following vulnerability has been resolved: net: system...
In the Linux kernel, the following vulnerability has been resolved: net: systemport: Add global locking for descriptor lifecycle The descriptor list is a shared resource across all of the transmit queues, and the locking mechanism used today only protects concurrency across a given transmit queue between the transmit and reclaiming. This creates an opportunity for the SYSTEMPORT hardware to work on corrupted descriptors if we have multiple producers at once which is the case when using multiple transmit queues. This was particularly noticeable when using multiple flows/transmit queues and it showed up in interesting ways in that UDP packets would get a correct UDP header checksum being calculated over an incorrect packet length. Similarly TCP packets would get an equally correct checksum c
OSV
linux-lts-xenial vulnerabilities
osv·2025-05-13·CVSS 7.8
CVE-2022-23041 [HIGH] linux-lts-xenial vulnerabilities
linux-lts-xenial vulnerabilities
Demi Marie Obenour and Simon Gaiser discovered that several Xen para-
virtualization device frontends did not properly restrict the access rights
of device backends. An attacker could possibly use a malicious Xen backend
to gain access to memory pages of a guest VM or cause a denial of service
in the guest. (CVE-2022-23041)
Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
- Hardware crypto device drivers;
- GPU drivers;
- IIO subsystem;
- Media drivers;
- Network drivers;
- SCSI subsystem;
- SPI subsystem;
- USB Gadget drivers;
- Ceph distributed file system;
- File systems infrastructure;
- JFS file system;
- Network file sys
OSV
linux-fips vulnerabilities
osv·2025-05-12·CVSS 7.8
CVE-2022-23041 [HIGH] linux-fips vulnerabilities
linux-fips vulnerabilities
Demi Marie Obenour and Simon Gaiser discovered that several Xen para-
virtualization device frontends did not properly restrict the access rights
of device backends. An attacker could possibly use a malicious Xen backend
to gain access to memory pages of a guest VM or cause a denial of service
in the guest. (CVE-2022-23041)
Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
- Hardware crypto device drivers;
- GPU drivers;
- IIO subsystem;
- Media drivers;
- Network drivers;
- SCSI subsystem;
- SPI subsystem;
- USB Gadget drivers;
- Ceph distributed file system;
- File systems infrastructure;
- JFS file system;
- Network file system (N
OSV
linux-aws vulnerabilities
osv·2025-05-12·CVSS 7.8
CVE-2022-23041 [HIGH] linux-aws vulnerabilities
linux-aws vulnerabilities
Demi Marie Obenour and Simon Gaiser discovered that several Xen para-
virtualization device frontends did not properly restrict the access rights
of device backends. An attacker could possibly use a malicious Xen backend
to gain access to memory pages of a guest VM or cause a denial of service
in the guest. (CVE-2022-23041)
Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
- Hardware crypto device drivers;
- GPU drivers;
- IIO subsystem;
- Media drivers;
- Network drivers;
- SCSI subsystem;
- SPI subsystem;
- USB Gadget drivers;
- Ceph distributed file system;
- File systems infrastructure;
- JFS file system;
- Network file system (NF
OSV
linux, linux-aws, linux-kvm vulnerabilities
osv·2025-05-12·CVSS 7.8
CVE-2022-23041 [HIGH] linux, linux-aws, linux-kvm vulnerabilities
linux, linux-aws, linux-kvm vulnerabilities
Demi Marie Obenour and Simon Gaiser discovered that several Xen para-
virtualization device frontends did not properly restrict the access rights
of device backends. An attacker could possibly use a malicious Xen backend
to gain access to memory pages of a guest VM or cause a denial of service
in the guest. (CVE-2022-23041)
Several security issues were discovered in the Linux kernel.
An attacker could possibly use these to compromise the system.
This update corrects flaws in the following subsystems:
- Hardware crypto device drivers;
- GPU drivers;
- IIO subsystem;
- Media drivers;
- Network drivers;
- SCSI subsystem;
- SPI subsystem;
- USB Gadget drivers;
- Ceph distributed file system;
- File systems infrastructure;
- JFS file system;
- Netwo
GHSA
GHSA-gp83-h9gh-vrv6: In the Linux kernel, the following vulnerability has been resolved:
net: systemport: Add global locking for descriptor lifecycle
The descriptor list
ghsa_unreviewed·2024-06-19
CVE-2021-47587 [MEDIUM] CWE-667 GHSA-gp83-h9gh-vrv6: In the Linux kernel, the following vulnerability has been resolved:
net: systemport: Add global locking for descriptor lifecycle
The descriptor list
In the Linux kernel, the following vulnerability has been resolved:
net: systemport: Add global locking for descriptor lifecycle
The descriptor list is a shared resource across all of the transmit queues, and
the locking mechanism used today only protects concurrency across a given
transmit queue between the transmit and reclaiming. This creates an opportunity
for the SYSTEMPORT hardware to work on corrupted descriptors if we have
multiple producers at once which is the case when using multiple transmit
queues.
This was particularly noticeable when using multiple flows/transmit queues and
it showed up in interesting ways in that UDP packets would get a correct UDP
header checksum being calculated over an incorrect packet length. Similarly TCP
packets would get an equally correct checksu
OSV
CVE-2021-47587: In the Linux kernel, the following vulnerability has been resolved: net: systemport: Add global locking for descriptor lifecycle The descriptor list i
osv·2024-06-19·CVSS 5.5
CVE-2021-47587 [MEDIUM] CVE-2021-47587: In the Linux kernel, the following vulnerability has been resolved: net: systemport: Add global locking for descriptor lifecycle The descriptor list i
In the Linux kernel, the following vulnerability has been resolved: net: systemport: Add global locking for descriptor lifecycle The descriptor list is a shared resource across all of the transmit queues, and the locking mechanism used today only protects concurrency across a given transmit queue between the transmit and reclaiming. This creates an opportunity for the SYSTEMPORT hardware to work on corrupted descriptors if we have multiple producers at once which is the case when using multiple transmit queues. This was particularly noticeable when using multiple flows/transmit queues and it showed up in interesting ways in that UDP packets would get a correct UDP header checksum being calculated over an incorrect packet length. Similarly TCP packets would get an equally correct checksum c
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://git.kernel.org/stable/c/595a684fa6f23b21958379a18cfa83862c73c2e1https://git.kernel.org/stable/c/6e1011cd183faae8daff275c72444edcdfe0d473https://git.kernel.org/stable/c/8b8e6e782456f1ce02a7ae914bbd5b1053f0b034https://git.kernel.org/stable/c/8ed2f5d08d6e59f8c78b2869bfb95d0be32c094chttps://git.kernel.org/stable/c/c675256a7f131f5ba3f331efb715e8f31ea0e392https://git.kernel.org/stable/c/de57f62f76450b934de8203711bdc4f7953c3421https://git.kernel.org/stable/c/eb4687c7442942e115420a30185f8d83faf37696https://git.kernel.org/stable/c/f3fde37d3f0d429f0fcce214cb52588a9e21260ehttps://git.kernel.org/stable/c/595a684fa6f23b21958379a18cfa83862c73c2e1https://git.kernel.org/stable/c/6e1011cd183faae8daff275c72444edcdfe0d473https://git.kernel.org/stable/c/8b8e6e782456f1ce02a7ae914bbd5b1053f0b034https://git.kernel.org/stable/c/8ed2f5d08d6e59f8c78b2869bfb95d0be32c094chttps://git.kernel.org/stable/c/c675256a7f131f5ba3f331efb715e8f31ea0e392https://git.kernel.org/stable/c/de57f62f76450b934de8203711bdc4f7953c3421https://git.kernel.org/stable/c/eb4687c7442942e115420a30185f8d83faf37696https://git.kernel.org/stable/c/f3fde37d3f0d429f0fcce214cb52588a9e21260e
2024-06-19
Published