CVE-2023-52772

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-52772
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-52772.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-52772
Downstream
Related
Published
2024-05-21T15:30:54Z
Modified
2025-10-15T04:26:15.496681Z
Summary
af_unix: fix use-after-free in unix_stream_read_actor()
Details

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

afunix: fix use-after-free in unixstreamreadactor()

syzbot reported the following crash [1]

After releasing unix socket lock, u->oob_skb can be changed by another thread. We must temporarily increase skb refcount to make sure this other thread will not free the skb under us.

[1]

BUG: KASAN: slab-use-after-free in unixstreamreadactor+0xa7/0xc0 net/unix/afunix.c:2866 Read of size 4 at addr ffff88801f3b9cc4 by task syz-executor107/5297

CPU: 1 PID: 5297 Comm: syz-executor107 Not tainted 6.6.0-syzkaller-15910-gb8e3a87a627b #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/09/2023 Call Trace: <TASK> dumpstack lib/dumpstack.c:88 [inline] dumpstacklvl+0xd9/0x1b0 lib/dumpstack.c:106 printaddressdescription mm/kasan/report.c:364 [inline] printreport+0xc4/0x620 mm/kasan/report.c:475 kasanreport+0xda/0x110 mm/kasan/report.c:588 unixstreamreadactor+0xa7/0xc0 net/unix/afunix.c:2866 unixstreamrecvurg net/unix/afunix.c:2587 [inline] unixstreamreadgeneric+0x19a5/0x2480 net/unix/afunix.c:2666 unixstreamrecvmsg+0x189/0x1b0 net/unix/afunix.c:2903 sockrecvmsgnosec net/socket.c:1044 [inline] sockrecvmsg+0xe2/0x170 net/socket.c:1066 _sysrecvmsg+0x21f/0x5c0 net/socket.c:2803 _sysrecvmsg+0x115/0x1a0 net/socket.c:2845 _sysrecvmsg+0x114/0x1e0 net/socket.c:2875 dosyscallx64 arch/x86/entry/common.c:51 [inline] dosyscall64+0x3f/0x110 arch/x86/entry/common.c:82 entrySYSCALL64afterhwframe+0x63/0x6b RIP: 0033:0x7fc67492c559 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fc6748ab228 EFLAGS: 00000246 ORIG_RAX: 000000000000002f RAX: ffffffffffffffda RBX: 000000000000001c RCX: 00007fc67492c559 RDX: 0000000040010083 RSI: 0000000020000140 RDI: 0000000000000004 RBP: 00007fc6749b6348 R08: 00007fc6748ab6c0 R09: 00007fc6748ab6c0 R10: 0000000000000000 R11: 0000000000000246 R12: 00007fc6749b6340 R13: 00007fc6749b634c R14: 00007ffe9fac52a0 R15: 00007ffe9fac5388 </TASK>

Allocated by task 5295: kasansavestack+0x33/0x50 mm/kasan/common.c:45 kasansettrack+0x25/0x30 mm/kasan/common.c:52 kasanslaballoc+0x81/0x90 mm/kasan/common.c:328 kasanslaballoc include/linux/kasan.h:188 [inline] slabpostallochook mm/slab.h:763 [inline] slaballocnode mm/slub.c:3478 [inline] kmemcacheallocnode+0x180/0x3c0 mm/slub.c:3523 _allocskb+0x287/0x330 net/core/skbuff.c:641 allocskb include/linux/skbuff.h:1286 [inline] allocskbwithfrags+0xe4/0x710 net/core/skbuff.c:6331 sockallocsendpskb+0x7e4/0x970 net/core/sock.c:2780 sockallocsendskb include/net/sock.h:1884 [inline] queueoob net/unix/afunix.c:2147 [inline] unixstreamsendmsg+0xb5f/0x10a0 net/unix/afunix.c:2301 socksendmsgnosec net/socket.c:730 [inline] _socksendmsg+0xd5/0x180 net/socket.c:745 _syssendmsg+0x6ac/0x940 net/socket.c:2584 _syssendmsg+0x135/0x1d0 net/socket.c:2638 _syssendmsg+0x117/0x1e0 net/socket.c:2667 dosyscallx64 arch/x86/entry/common.c:51 [inline] dosyscall64+0x3f/0x110 arch/x86/entry/common.c:82 entrySYSCALL64afterhwframe+0x63/0x6b

Freed by task 5295: kasansavestack+0x33/0x50 mm/kasan/common.c:45 kasansettrack+0x25/0x30 mm/kasan/common.c:52 kasansavefreeinfo+0x2b/0x40 mm/kasan/generic.c:522 kasanslabfree mm/kasan/common.c:236 [inline] _kasanslabfree+0x15b/0x1b0 mm/kasan/common.c:200 kasanslabfree include/linux/kasan.h:164 [inline] slabfreehook mm/slub.c:1800 [inline] slabfreefreelisthook+0x114/0x1e0 mm/slub.c:1826 slabfree mm/slub.c:3809 [inline] kmemcachefree+0xf8/0x340 mm/slub.c:3831 kfreeskbmem+0xef/0x1b0 net/core/skbuff.c:1015 _kfreeskb net/core/skbuff.c:1073 [inline] consumeskb net/core/skbuff.c:1288 [inline] consumeskb+0xdf/0x170 net/core/skbuff.c:1282 queueoob net/unix/af_unix.c:2178 [inline] u ---truncated---

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
876c14ad014d0e39c57cbfde53e13d17cdb6d645
Fixed
75bcfc188abf4fae9c1d5f5dc0a03540be602eef
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
876c14ad014d0e39c57cbfde53e13d17cdb6d645
Fixed
d179189eec426fe4801e4b91efa1889faed12700
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
876c14ad014d0e39c57cbfde53e13d17cdb6d645
Fixed
eae0b295ce16d8c8b4114c3037993191b4bb92f0
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
876c14ad014d0e39c57cbfde53e13d17cdb6d645
Fixed
069a3ec329ff43e7869a3d94c62cd03203016bce
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
876c14ad014d0e39c57cbfde53e13d17cdb6d645
Fixed
4b7b492615cf3017190f55444f7016812b66611d

Affected versions

v5.*

v5.14
v5.14-rc6
v5.14-rc7
v5.15
v5.15-rc1
v5.15-rc2
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.15.1
v5.15.10
v5.15.100
v5.15.101
v5.15.102
v5.15.103
v5.15.104
v5.15.105
v5.15.106
v5.15.107
v5.15.108
v5.15.109
v5.15.11
v5.15.110
v5.15.111
v5.15.112
v5.15.113
v5.15.114
v5.15.115
v5.15.116
v5.15.117
v5.15.118
v5.15.119
v5.15.12
v5.15.120
v5.15.121
v5.15.122
v5.15.123
v5.15.124
v5.15.125
v5.15.126
v5.15.127
v5.15.128
v5.15.129
v5.15.13
v5.15.130
v5.15.131
v5.15.132
v5.15.133
v5.15.134
v5.15.135
v5.15.136
v5.15.137
v5.15.138
v5.15.139
v5.15.14
v5.15.15
v5.15.16
v5.15.17
v5.15.18
v5.15.19
v5.15.2
v5.15.20
v5.15.21
v5.15.22
v5.15.23
v5.15.24
v5.15.25
v5.15.26
v5.15.27
v5.15.28
v5.15.29
v5.15.3
v5.15.30
v5.15.31
v5.15.32
v5.15.33
v5.15.34
v5.15.35
v5.15.36
v5.15.37
v5.15.38
v5.15.39
v5.15.4
v5.15.40
v5.15.41
v5.15.42
v5.15.43
v5.15.44
v5.15.45
v5.15.46
v5.15.47
v5.15.48
v5.15.49
v5.15.5
v5.15.50
v5.15.51
v5.15.52
v5.15.53
v5.15.54
v5.15.55
v5.15.56
v5.15.57
v5.15.58
v5.15.59
v5.15.6
v5.15.60
v5.15.61
v5.15.62
v5.15.63
v5.15.64
v5.15.65
v5.15.66
v5.15.67
v5.15.68
v5.15.69
v5.15.7
v5.15.70
v5.15.71
v5.15.72
v5.15.73
v5.15.74
v5.15.75
v5.15.76
v5.15.77
v5.15.78
v5.15.79
v5.15.8
v5.15.80
v5.15.81
v5.15.82
v5.15.83
v5.15.84
v5.15.85
v5.15.86
v5.15.87
v5.15.88
v5.15.89
v5.15.9
v5.15.90
v5.15.91
v5.15.92
v5.15.93
v5.15.94
v5.15.95
v5.15.96
v5.15.97
v5.15.98
v5.15.99
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.28
v6.1.29
v6.1.3
v6.1.30
v6.1.31
v6.1.32
v6.1.33
v6.1.34
v6.1.35
v6.1.36
v6.1.37
v6.1.38
v6.1.39
v6.1.4
v6.1.40
v6.1.41
v6.1.42
v6.1.43
v6.1.44
v6.1.45
v6.1.46
v6.1.47
v6.1.48
v6.1.49
v6.1.5
v6.1.50
v6.1.51
v6.1.52
v6.1.53
v6.1.54
v6.1.55
v6.1.56
v6.1.57
v6.1.58
v6.1.59
v6.1.6
v6.1.60
v6.1.61
v6.1.62
v6.1.63
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.3
v6.3-rc1
v6.3-rc2
v6.3-rc3
v6.3-rc4
v6.3-rc5
v6.3-rc6
v6.3-rc7
v6.4
v6.4-rc1
v6.4-rc2
v6.4-rc3
v6.4-rc4
v6.4-rc5
v6.4-rc6
v6.4-rc7
v6.5
v6.5-rc1
v6.5-rc2
v6.5-rc3
v6.5-rc4
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.5.1
v6.5.10
v6.5.11
v6.5.12
v6.5.2
v6.5.3
v6.5.4
v6.5.5
v6.5.6
v6.5.7
v6.5.8
v6.5.9
v6.6
v6.6-rc1
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.6.1
v6.6.2

Database specific

{
    "vanir_signatures": [
        {
            "digest": {
                "length": 719.0,
                "function_hash": "14460727214906403442988954938372941246"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75bcfc188abf4fae9c1d5f5dc0a03540be602eef",
            "signature_type": "Function",
            "target": {
                "function": "unix_stream_recv_urg",
                "file": "net/unix/af_unix.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2023-52772-44f87f16"
        },
        {
            "digest": {
                "line_hashes": [
                    "168344302152716606160961578214885429874",
                    "55205394900931448133122118734605915500",
                    "2670971427589229912416157393051028082",
                    "219382435236205528027196446740878483402",
                    "56782629806247992896158929447074116451",
                    "38453450129905191237203402404100460129",
                    "268323683517676337123010734425356800897",
                    "150436429497525248634651395917006370056",
                    "272710964457692086946974176764510295681"
                ],
                "threshold": 0.9
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@069a3ec329ff43e7869a3d94c62cd03203016bce",
            "signature_type": "Line",
            "target": {
                "file": "net/unix/af_unix.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2023-52772-8ba62967"
        },
        {
            "digest": {
                "length": 719.0,
                "function_hash": "14460727214906403442988954938372941246"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b7b492615cf3017190f55444f7016812b66611d",
            "signature_type": "Function",
            "target": {
                "function": "unix_stream_recv_urg",
                "file": "net/unix/af_unix.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2023-52772-a10e1629"
        },
        {
            "digest": {
                "line_hashes": [
                    "168344302152716606160961578214885429874",
                    "55205394900931448133122118734605915500",
                    "2670971427589229912416157393051028082",
                    "219382435236205528027196446740878483402",
                    "56782629806247992896158929447074116451",
                    "38453450129905191237203402404100460129",
                    "268323683517676337123010734425356800897",
                    "150436429497525248634651395917006370056",
                    "272710964457692086946974176764510295681"
                ],
                "threshold": 0.9
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b7b492615cf3017190f55444f7016812b66611d",
            "signature_type": "Line",
            "target": {
                "file": "net/unix/af_unix.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2023-52772-a51fc746"
        },
        {
            "digest": {
                "length": 719.0,
                "function_hash": "14460727214906403442988954938372941246"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@069a3ec329ff43e7869a3d94c62cd03203016bce",
            "signature_type": "Function",
            "target": {
                "function": "unix_stream_recv_urg",
                "file": "net/unix/af_unix.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2023-52772-c7c79b76"
        },
        {
            "digest": {
                "line_hashes": [
                    "168344302152716606160961578214885429874",
                    "55205394900931448133122118734605915500",
                    "2670971427589229912416157393051028082",
                    "219382435236205528027196446740878483402",
                    "56782629806247992896158929447074116451",
                    "38453450129905191237203402404100460129",
                    "268323683517676337123010734425356800897",
                    "150436429497525248634651395917006370056",
                    "272710964457692086946974176764510295681"
                ],
                "threshold": 0.9
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d179189eec426fe4801e4b91efa1889faed12700",
            "signature_type": "Line",
            "target": {
                "file": "net/unix/af_unix.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2023-52772-cc856fd9"
        },
        {
            "digest": {
                "length": 719.0,
                "function_hash": "14460727214906403442988954938372941246"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d179189eec426fe4801e4b91efa1889faed12700",
            "signature_type": "Function",
            "target": {
                "function": "unix_stream_recv_urg",
                "file": "net/unix/af_unix.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2023-52772-da0e336f"
        },
        {
            "digest": {
                "line_hashes": [
                    "168344302152716606160961578214885429874",
                    "55205394900931448133122118734605915500",
                    "2670971427589229912416157393051028082",
                    "219382435236205528027196446740878483402",
                    "56782629806247992896158929447074116451",
                    "38453450129905191237203402404100460129",
                    "268323683517676337123010734425356800897",
                    "150436429497525248634651395917006370056",
                    "272710964457692086946974176764510295681"
                ],
                "threshold": 0.9
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75bcfc188abf4fae9c1d5f5dc0a03540be602eef",
            "signature_type": "Line",
            "target": {
                "file": "net/unix/af_unix.c"
            },
            "deprecated": false,
            "signature_version": "v1",
            "id": "CVE-2023-52772-fc57e4cd"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.15.0
Fixed
5.15.140
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.64
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.5.13
Type
ECOSYSTEM
Events
Introduced
6.6.0
Fixed
6.6.3