Linux Kernel bis 4.19.220/5.4.164/5.10.84/5.15.7 POLLFREE Handling signalfd_poll Pufferüberlauf

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 7.7 | $0-$5k | 0.00 |
Zusammenfassung
In Linux Kernel bis 4.19.220/5.4.164/5.10.84/5.15.7 wurde eine Schwachstelle gefunden. Sie wurde als kritisch eingestuft. Betroffen davon ist die Funktion signalfd_poll der Komponente POLLFREE Handling. Durch das Manipulieren mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden.
Diese Sicherheitslücke ist unter CVE-2021-47505 bekannt. Es steht kein Exploit zur Verfügung.
Es wird geraten, die betroffene Komponente zu aktualisieren.
Details
In Linux Kernel bis 4.19.220/5.4.164/5.10.84/5.15.7 wurde eine Schwachstelle ausgemacht. Sie wurde als kritisch eingestuft. Das betrifft die Funktion signalfd_poll der Komponente POLLFREE Handling. Dank Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-416. Dies wirkt sich aus auf Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:
In the Linux kernel, the following vulnerability has been resolved:
aio: fix use-after-free due to missing POLLFREE handling
signalfd_poll() and binder_poll() are special in that they use a
waitqueue whose lifetime is the current task, rather than the struct
file as is normally the case. This is okay for blocking polls, since a
blocking poll occurs within one task; however, non-blocking polls
require another solution. This solution is for the queue to be cleared
before it is freed, by sending a POLLFREE notification to all waiters.
Unfortunately, only eventpoll handles POLLFREE. A second type of
non-blocking poll, aio poll, was added in kernel v4.18, and it doesn't
handle POLLFREE. This allows a use-after-free to occur if a signalfd or
binder fd is polled with aio poll, and the waitqueue gets freed.
Fix this by making aio poll handle POLLFREE.
A patch by Ramji Jiyani
(https://lore.kernel.org/r/[email protected])
tried to do this by making aio_poll_wake() always complete the request
inline if POLLFREE is seen. However, that solution had two bugs.
First, it introduced a deadlock, as it unconditionally locked the aio
context while holding the waitqueue lock, which inverts the normal
locking order. Second, it didn't consider that POLLFREE notifications
are missed while the request has been temporarily de-queued.
The second problem was solved by my previous patch. This patch then
properly fixes the use-after-free by handling POLLFREE in a
deadlock-free way. It does this by taking advantage of the fact that
freeing of the waitqueue is RCU-delayed, similar to what eventpoll does.Auf git.kernel.org kann das Advisory eingesehen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 22.05.2024 mit CVE-2021-47505 vorgenommen. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Als Preis für einen Exploit ist zur Zeit ungefähr mit USD $0-$5k zu rechnen (Preisberechnung vom 04.12.2025).
Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 276021 (TencentOS Server 3: kernel (TSSA-2025:0434)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Upgrade auf die Version 4.19.221, 5.4.165, 5.10.85 oder 5.15.8 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 321fba81ec03/4105e6a128e8/47ffefd88abf/60d311f9e638/50252e4b5e98 beheben. Dieser kann von git.kernel.org bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.
Unter anderem wird der Fehler auch in den Datenbanken von Tenable (276021) und CERT Bund (WID-SEC-2025-1293) dokumentiert. If you want to get best quality of vulnerability data, you may have to visit VulDB.
Betroffen
- Ubuntu Linux
- IBM DataPower Gateway
Produkt
Typ
Hersteller
Name
Version
- 4.19.220
- 5.4.164
- 5.10.0
- 5.10.1
- 5.10.2
- 5.10.3
- 5.10.4
- 5.10.5
- 5.10.6
- 5.10.7
- 5.10.8
- 5.10.9
- 5.10.10
- 5.10.11
- 5.10.12
- 5.10.13
- 5.10.14
- 5.10.15
- 5.10.16
- 5.10.17
- 5.10.18
- 5.10.19
- 5.10.20
- 5.10.21
- 5.10.22
- 5.10.23
- 5.10.24
- 5.10.25
- 5.10.26
- 5.10.27
- 5.10.28
- 5.10.29
- 5.10.30
- 5.10.31
- 5.10.32
- 5.10.33
- 5.10.34
- 5.10.35
- 5.10.36
- 5.10.37
- 5.10.38
- 5.10.39
- 5.10.40
- 5.10.41
- 5.10.42
- 5.10.43
- 5.10.44
- 5.10.45
- 5.10.46
- 5.10.47
- 5.10.48
- 5.10.49
- 5.10.50
- 5.10.51
- 5.10.52
- 5.10.53
- 5.10.54
- 5.10.55
- 5.10.56
- 5.10.57
- 5.10.58
- 5.10.59
- 5.10.60
- 5.10.61
- 5.10.62
- 5.10.63
- 5.10.64
- 5.10.65
- 5.10.66
- 5.10.67
- 5.10.68
- 5.10.69
- 5.10.70
- 5.10.71
- 5.10.72
- 5.10.73
- 5.10.74
- 5.10.75
- 5.10.76
- 5.10.77
- 5.10.78
- 5.10.79
- 5.10.80
- 5.10.81
- 5.10.82
- 5.10.83
- 5.10.84
- 5.15.0
- 5.15.1
- 5.15.2
- 5.15.3
- 5.15.4
- 5.15.5
- 5.15.6
- 5.15.7
Lizenz
Webseite
- Hersteller: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 7.9VulDB Meta Temp Score: 7.7
VulDB Base Score: 8.0
VulDB Temp Score: 7.6
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍
NVD Base Score: 7.8
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: PufferüberlaufCWE: CWE-416 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physisch: Teilweise
Lokal: Ja
Remote: Teilweise
Verfügbarkeit: 🔍
Status: Nicht definiert
EPSS Score: 🔍
EPSS Percentile: 🔍
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Nessus ID: 276021
Nessus Name: TencentOS Server 3: kernel (TSSA-2025:0434)
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Kernel 4.19.221/5.4.165/5.10.85/5.15.8
Patch: 321fba81ec03/4105e6a128e8/47ffefd88abf/60d311f9e638/50252e4b5e98
Timeline
22.05.2024 🔍24.05.2024 🔍
24.05.2024 🔍
04.12.2025 🔍
Quellen
Hersteller: kernel.orgAdvisory: git.kernel.org
Status: Bestätigt
CVE: CVE-2021-47505 (🔍)
GCVE (CVE): GCVE-0-2021-47505
GCVE (VulDB): GCVE-100-266146
CERT Bund: WID-SEC-2025-1293 - IBM DataPower Gateway: Mehrere Schwachstellen
Eintrag
Erstellt: 24.05.2024 17:23Aktualisierung: 04.12.2025 15:34
Anpassungen: 24.05.2024 17:23 (57), 11.01.2025 00:51 (13), 21.11.2025 07:00 (2), 04.12.2025 15:34 (7)
Komplett: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.