CVE-2023-53452

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-53452
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53452.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-53452
Downstream
Related
Published
2025-10-01T11:42:23Z
Modified
2025-10-15T07:36:18.367780Z
Summary
wifi: rtw89: fix potential race condition between napi_init and napi_enable
Details

In the Linux kernel, the following vulnerability has been resolved:

wifi: rtw89: fix potential race condition between napiinit and napienable

A race condition can happen if netdev is registered, but NAPI isn't initialized yet, and meanwhile user space starts the netdev that will enable NAPI. Then, it hits BUG_ON():

kernel BUG at net/core/dev.c:6423! invalid opcode: 0000 [#1] PREEMPT SMP NOPTI CPU: 0 PID: 417 Comm: iwd Not tainted 6.2.7-slab-dirty #3 eb0f5a8a9d91 Hardware name: LENOVO 21DL/LNVNB161216, BIOS JPCN20WW(V1.06) 09/20/2022 RIP: 0010:napienable+0x3f/0x50 Code: 48 89 c2 48 83 e2 f6 f6 81 89 08 00 00 02 74 0d 48 83 ... RSP: 0018:ffffada1414f3548 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffffa01425802080 RCX: 0000000000000000 RDX: 00000000000002ff RSI: ffffada14e50c614 RDI: ffffa01425808dc0 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000100 R12: ffffa01425808f58 R13: 0000000000000000 R14: ffffa01423498940 R15: 0000000000000001 FS: 00007f5577c0a740(0000) GS:ffffa0169fc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f5577a19972 CR3: 0000000125a7a000 CR4: 0000000000750ef0 PKRU: 55555554 Call Trace: <TASK> rtw89pciopsstart+0x1c/0x70 [rtw89pci 6cbc75429515c181cbc386478d5cfb32ffc5a0f8] rtw89corestart+0xbe/0x160 [rtw89core fe07ecb874820b6d778370d4acb6ef8a37847f22] rtw89opsstart+0x26/0x40 [rtw89core fe07ecb874820b6d778370d4acb6ef8a37847f22] drvstart+0x42/0x100 [mac80211 c07fa22af8c3cf3f7d7ab3884ca990784d72e2d2] ieee80211doopen+0x311/0x7d0 [mac80211 c07fa22af8c3cf3f7d7ab3884ca990784d72e2d2] ieee80211open+0x6a/0x90 [mac80211 c07fa22af8c3cf3f7d7ab3884ca990784d72e2d2] _devopen+0xe0/0x180 _devchangeflags+0x1da/0x250 devchangeflags+0x26/0x70 dosetlink+0x37c/0x12c0 ? eppollcallback+0x246/0x290 ? _nlavalidateparse+0x61/0xd00 ? _wakeupcommonlock+0x8f/0xd0

To fix this, follow Jonas' suggestion to switch the order of these functions and move register netdev to be the last step of PCI probe. Also, correct the error handling of rtw89coreregister_hw().

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e3ec7017f6a20d12ddd9fe23d345ebb7b8c104dd
Fixed
39712c8aeb79691bcec8bd6ff658cde1651e0803
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e3ec7017f6a20d12ddd9fe23d345ebb7b8c104dd
Fixed
aa48073c2f993e1b0c0bc66b03ae105cac0130bc
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e3ec7017f6a20d12ddd9fe23d345ebb7b8c104dd
Fixed
b1b90c7df08ef385f95827ee3aee87bddd1ef5c5
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e3ec7017f6a20d12ddd9fe23d345ebb7b8c104dd
Fixed
47515664ecfbde11425dff121f298ae4499425c9

Affected versions

v5.*

v5.15
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.18
v5.18-rc1
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8

v6.*

v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.1
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5
v6.1-rc6
v6.1-rc7
v6.1-rc8
v6.1.1
v6.1.10
v6.1.11
v6.1.12
v6.1.13
v6.1.14
v6.1.15
v6.1.16
v6.1.17
v6.1.18
v6.1.19
v6.1.2
v6.1.20
v6.1.21
v6.1.22
v6.1.23
v6.1.24
v6.1.25
v6.1.26
v6.1.27
v6.1.3
v6.1.4
v6.1.5
v6.1.6
v6.1.7
v6.1.8
v6.1.9
v6.2
v6.2-rc1
v6.2-rc2
v6.2-rc3
v6.2-rc4
v6.2-rc5
v6.2-rc6
v6.2-rc7
v6.2-rc8
v6.2.1
v6.2.10
v6.2.11
v6.2.12
v6.2.13
v6.2.14
v6.2.2
v6.2.3
v6.2.4
v6.2.5
v6.2.6
v6.2.7
v6.2.8
v6.2.9
v6.3
v6.3-rc1
v6.3-rc2
v6.3-rc3
v6.3-rc4
v6.3-rc5
v6.3-rc6
v6.3-rc7
v6.3.1

Database specific

{
    "vanir_signatures": [
        {
            "id": "CVE-2023-53452-0a63fe7a",
            "signature_type": "Function",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/pci.c",
                "function": "rtw89_pci_probe"
            },
            "deprecated": false,
            "digest": {
                "length": 1641.0,
                "function_hash": "66457701231970388036967148638077907889"
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b1b90c7df08ef385f95827ee3aee87bddd1ef5c5"
        },
        {
            "id": "CVE-2023-53452-25b34d6b",
            "signature_type": "Line",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/core.c"
            },
            "deprecated": false,
            "digest": {
                "line_hashes": [
                    "201329998956637525211928926082421012740",
                    "194747789373667084910955405727810961547",
                    "168436156973623423602772621058682685544",
                    "165102212016626372039349773144839348207",
                    "9087878475396226466235498725093681659",
                    "285504419981748538285760101864096915588",
                    "232650400843892819647389626204028661939",
                    "78334747090243295738111311920702760524",
                    "239425521120941185079524603791337477799",
                    "295862790009955196776188627353131373543",
                    "1872264073166571259362467190732568198",
                    "335410766972572164624973655434497767310"
                ],
                "threshold": 0.9
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@47515664ecfbde11425dff121f298ae4499425c9"
        },
        {
            "id": "CVE-2023-53452-2cff1c27",
            "signature_type": "Line",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/pci.c"
            },
            "deprecated": false,
            "digest": {
                "line_hashes": [
                    "53920331546530924523734257570470163289",
                    "40289436290262199459162642102074547788",
                    "298110473380792235025419218422532018283",
                    "55913311757146192421328013000010368295",
                    "300540566955978238669505157516760314079",
                    "288827595393145374084643704782262448979",
                    "164441339465982169593907094520168266921",
                    "233489784604825235161523742210086652220",
                    "52846997372873473768444971317463787127",
                    "134134716630601647093833063609880262490",
                    "213419215213647308225850114124651004880",
                    "107279000809705747415145899609435757975",
                    "253318561869783105212700049989826616016",
                    "51776400450684103496054624358534295432",
                    "292129268103116592125676902732100772816",
                    "60483704718287277565615041020376548890",
                    "49988418148359990038882566251806865557",
                    "48104753405750899514182718991358232823"
                ],
                "threshold": 0.9
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aa48073c2f993e1b0c0bc66b03ae105cac0130bc"
        },
        {
            "id": "CVE-2023-53452-4ecff267",
            "signature_type": "Line",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/pci.c"
            },
            "deprecated": false,
            "digest": {
                "line_hashes": [
                    "53920331546530924523734257570470163289",
                    "40289436290262199459162642102074547788",
                    "298110473380792235025419218422532018283",
                    "55913311757146192421328013000010368295",
                    "300540566955978238669505157516760314079",
                    "288827595393145374084643704782262448979",
                    "164441339465982169593907094520168266921",
                    "233489784604825235161523742210086652220",
                    "52846997372873473768444971317463787127",
                    "134134716630601647093833063609880262490",
                    "213419215213647308225850114124651004880",
                    "107279000809705747415145899609435757975",
                    "253318561869783105212700049989826616016",
                    "51776400450684103496054624358534295432",
                    "292129268103116592125676902732100772816",
                    "60483704718287277565615041020376548890",
                    "49988418148359990038882566251806865557",
                    "48104753405750899514182718991358232823"
                ],
                "threshold": 0.9
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@39712c8aeb79691bcec8bd6ff658cde1651e0803"
        },
        {
            "id": "CVE-2023-53452-5bb835be",
            "signature_type": "Function",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/core.c",
                "function": "rtw89_core_register_hw"
            },
            "deprecated": false,
            "digest": {
                "length": 2789.0,
                "function_hash": "69011071816445199031140482352498610758"
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aa48073c2f993e1b0c0bc66b03ae105cac0130bc"
        },
        {
            "id": "CVE-2023-53452-6352b4ed",
            "signature_type": "Line",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/core.c"
            },
            "deprecated": false,
            "digest": {
                "line_hashes": [
                    "201329998956637525211928926082421012740",
                    "194747789373667084910955405727810961547",
                    "168436156973623423602772621058682685544",
                    "165102212016626372039349773144839348207",
                    "9087878475396226466235498725093681659",
                    "285504419981748538285760101864096915588",
                    "232650400843892819647389626204028661939",
                    "78334747090243295738111311920702760524",
                    "239425521120941185079524603791337477799",
                    "295862790009955196776188627353131373543",
                    "1872264073166571259362467190732568198",
                    "335410766972572164624973655434497767310"
                ],
                "threshold": 0.9
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aa48073c2f993e1b0c0bc66b03ae105cac0130bc"
        },
        {
            "id": "CVE-2023-53452-7f28a811",
            "signature_type": "Function",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/core.c",
                "function": "rtw89_core_register_hw"
            },
            "deprecated": false,
            "digest": {
                "length": 2669.0,
                "function_hash": "133762064105171020727589240472044047951"
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@39712c8aeb79691bcec8bd6ff658cde1651e0803"
        },
        {
            "id": "CVE-2023-53452-81f01d3a",
            "signature_type": "Line",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/core.c"
            },
            "deprecated": false,
            "digest": {
                "line_hashes": [
                    "201329998956637525211928926082421012740",
                    "194747789373667084910955405727810961547",
                    "168436156973623423602772621058682685544",
                    "165102212016626372039349773144839348207",
                    "9087878475396226466235498725093681659",
                    "285504419981748538285760101864096915588",
                    "232650400843892819647389626204028661939",
                    "78334747090243295738111311920702760524",
                    "239425521120941185079524603791337477799",
                    "295862790009955196776188627353131373543",
                    "1872264073166571259362467190732568198",
                    "335410766972572164624973655434497767310"
                ],
                "threshold": 0.9
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b1b90c7df08ef385f95827ee3aee87bddd1ef5c5"
        },
        {
            "id": "CVE-2023-53452-8fa4938b",
            "signature_type": "Line",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/pci.c"
            },
            "deprecated": false,
            "digest": {
                "line_hashes": [
                    "53920331546530924523734257570470163289",
                    "40289436290262199459162642102074547788",
                    "298110473380792235025419218422532018283",
                    "55913311757146192421328013000010368295",
                    "300540566955978238669505157516760314079",
                    "288827595393145374084643704782262448979",
                    "164441339465982169593907094520168266921",
                    "233489784604825235161523742210086652220",
                    "52846997372873473768444971317463787127",
                    "134134716630601647093833063609880262490",
                    "213419215213647308225850114124651004880",
                    "107279000809705747415145899609435757975",
                    "253318561869783105212700049989826616016",
                    "51776400450684103496054624358534295432",
                    "292129268103116592125676902732100772816",
                    "60483704718287277565615041020376548890",
                    "49988418148359990038882566251806865557",
                    "48104753405750899514182718991358232823"
                ],
                "threshold": 0.9
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@47515664ecfbde11425dff121f298ae4499425c9"
        },
        {
            "id": "CVE-2023-53452-9ca1e50b",
            "signature_type": "Function",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/core.c",
                "function": "rtw89_core_register_hw"
            },
            "deprecated": false,
            "digest": {
                "length": 2818.0,
                "function_hash": "32057875332241445872793072129104526542"
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@47515664ecfbde11425dff121f298ae4499425c9"
        },
        {
            "id": "CVE-2023-53452-9d57f078",
            "signature_type": "Line",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/core.c"
            },
            "deprecated": false,
            "digest": {
                "line_hashes": [
                    "201329998956637525211928926082421012740",
                    "194747789373667084910955405727810961547",
                    "168436156973623423602772621058682685544",
                    "165102212016626372039349773144839348207",
                    "9087878475396226466235498725093681659",
                    "285504419981748538285760101864096915588",
                    "232650400843892819647389626204028661939",
                    "78334747090243295738111311920702760524",
                    "239425521120941185079524603791337477799",
                    "295862790009955196776188627353131373543",
                    "1872264073166571259362467190732568198",
                    "335410766972572164624973655434497767310"
                ],
                "threshold": 0.9
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@39712c8aeb79691bcec8bd6ff658cde1651e0803"
        },
        {
            "id": "CVE-2023-53452-bb32a724",
            "signature_type": "Function",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/pci.c",
                "function": "rtw89_pci_probe"
            },
            "deprecated": false,
            "digest": {
                "length": 1641.0,
                "function_hash": "66457701231970388036967148638077907889"
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@39712c8aeb79691bcec8bd6ff658cde1651e0803"
        },
        {
            "id": "CVE-2023-53452-c4e21201",
            "signature_type": "Function",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/core.c",
                "function": "rtw89_core_register_hw"
            },
            "deprecated": false,
            "digest": {
                "length": 2789.0,
                "function_hash": "69011071816445199031140482352498610758"
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b1b90c7df08ef385f95827ee3aee87bddd1ef5c5"
        },
        {
            "id": "CVE-2023-53452-e03047b2",
            "signature_type": "Function",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/pci.c",
                "function": "rtw89_pci_probe"
            },
            "deprecated": false,
            "digest": {
                "length": 1641.0,
                "function_hash": "66457701231970388036967148638077907889"
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aa48073c2f993e1b0c0bc66b03ae105cac0130bc"
        },
        {
            "id": "CVE-2023-53452-f4b7f26f",
            "signature_type": "Line",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/pci.c"
            },
            "deprecated": false,
            "digest": {
                "line_hashes": [
                    "53920331546530924523734257570470163289",
                    "40289436290262199459162642102074547788",
                    "298110473380792235025419218422532018283",
                    "55913311757146192421328013000010368295",
                    "300540566955978238669505157516760314079",
                    "288827595393145374084643704782262448979",
                    "164441339465982169593907094520168266921",
                    "233489784604825235161523742210086652220",
                    "52846997372873473768444971317463787127",
                    "134134716630601647093833063609880262490",
                    "213419215213647308225850114124651004880",
                    "107279000809705747415145899609435757975",
                    "253318561869783105212700049989826616016",
                    "51776400450684103496054624358534295432",
                    "292129268103116592125676902732100772816",
                    "60483704718287277565615041020376548890",
                    "49988418148359990038882566251806865557",
                    "48104753405750899514182718991358232823"
                ],
                "threshold": 0.9
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b1b90c7df08ef385f95827ee3aee87bddd1ef5c5"
        },
        {
            "id": "CVE-2023-53452-f834a204",
            "signature_type": "Function",
            "target": {
                "file": "drivers/net/wireless/realtek/rtw89/pci.c",
                "function": "rtw89_pci_probe"
            },
            "deprecated": false,
            "digest": {
                "length": 1641.0,
                "function_hash": "66457701231970388036967148638077907889"
            },
            "signature_version": "v1",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@47515664ecfbde11425dff121f298ae4499425c9"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.28
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.2.15
Type
ECOSYSTEM
Events
Introduced
6.3.0
Fixed
6.3.2