DEBIAN-CVE-2021-47089

Source
https://security-tracker.debian.org/tracker/CVE-2021-47089
Import Source
https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2021-47089.json
JSON Data
https://api.osv.dev/v1/vulns/DEBIAN-CVE-2021-47089
Upstream
Published
2024-03-04T18:15:07Z
Modified
2025-09-25T02:46:20.810025Z
Summary
[none]
Details

In the Linux kernel, the following vulnerability has been resolved: kfence: fix memory leak when cat kfence objects Hulk robot reported a kmemleak problem: unreferenced object 0xffff93d1d8cc02e8 (size 248): comm "cat", pid 23327, jiffies 4624670141 (age 495992.217s) hex dump (first 32 bytes): 00 40 85 19 d4 93 ff ff 00 10 00 00 00 00 00 00 .@.............. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: seqopen+0x2a/0x80 fullproxyopen+0x167/0x1e0 dodentryopen+0x1e1/0x3a0 pathopenat+0x961/0xa20 dofilpopen+0xae/0x120 dosysopenat2+0x216/0x2f0 dosysopen+0x57/0x80 dosyscall64+0x33/0x40 entrySYSCALL64afterhwframe+0x44/0xa9 unreferenced object 0xffff93d419854000 (size 4096): comm "cat", pid 23327, jiffies 4624670141 (age 495992.217s) hex dump (first 32 bytes): 6b 66 65 6e 63 65 2d 23 32 35 30 3a 20 30 78 30 kfence-#250: 0x0 30 30 30 30 30 30 30 37 35 34 62 64 61 31 32 2d 0000000754bda12- backtrace: seqreaditer+0x313/0x440 seqread+0x14b/0x1a0 fullproxyread+0x56/0x80 vfsread+0xa5/0x1b0 ksysread+0xa0/0xf0 dosyscall64+0x33/0x40 entrySYSCALL64afterhwframe+0x44/0xa9 I find that we can easily reproduce this problem with the following commands: cat /sys/kernel/debug/kfence/objects echo scan > /sys/kernel/debug/kmemleak cat /sys/kernel/debug/kmemleak The leaked memory is allocated in the stack below: dosyscall64 dosysopen dodentryopen fullproxyopen seqopen ---> alloc seqfile vfsread fullproxyread seqread seqreaditer traverse ---> alloc seqbuf And it should have been released in the following process: dosyscall64 syscallexittousermode exittousermodeprepare taskworkrun _fput _fput fullproxyrelease ---> free here However, the release function corresponding to file_operations is not implemented in kfence. As a result, a memory leak occurs. Therefore, the solution to this problem is to implement the corresponding release function.

References

Affected packages

Debian:12 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.15.15-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Debian:13 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.15.15-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Debian:14 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.15.15-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}