{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2025-22062",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-12-29T08:45:45.813Z",
        "datePublished": "2025-04-16T14:12:17.605Z",
        "dateUpdated": "2026-08-05T11:56:28.212Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T11:56:28.212Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: add mutual exclusion in proc_sctp_do_udp_port()\n\nWe must serialize calls to sctp_udp_sock_stop() and sctp_udp_sock_start()\nor risk a crash as syzbot reported:\n\nOops: general protection fault, probably for non-canonical address 0xdffffc000000000d: 0000 [#1] SMP KASAN PTI\nKASAN: null-ptr-deref in range [0x0000000000000068-0x000000000000006f]\nCPU: 1 UID: 0 PID: 6551 Comm: syz.1.44 Not tainted 6.14.0-syzkaller-g7f2ff7b62617 #0 PREEMPT(full)\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025\n RIP: 0010:kernel_sock_shutdown+0x47/0x70 net/socket.c:3653\nCall Trace:\n <TASK>\n  udp_tunnel_sock_release+0x68/0x80 net/ipv4/udp_tunnel_core.c:181\n  sctp_udp_sock_stop+0x71/0x160 net/sctp/protocol.c:930\n  proc_sctp_do_udp_port+0x264/0x450 net/sctp/sysctl.c:553\n  proc_sys_call_handler+0x3d0/0x5b0 fs/proc/proc_sysctl.c:601\n  iter_file_splice_write+0x91c/0x1150 fs/splice.c:738\n  do_splice_from fs/splice.c:935 [inline]\n  direct_splice_actor+0x18f/0x6c0 fs/splice.c:1158\n  splice_direct_to_actor+0x342/0xa30 fs/splice.c:1102\n  do_splice_direct_actor fs/splice.c:1201 [inline]\n  do_splice_direct+0x174/0x240 fs/splice.c:1227\n  do_sendfile+0xafd/0xe50 fs/read_write.c:1368\n  __do_sys_sendfile64 fs/read_write.c:1429 [inline]\n  __se_sys_sendfile64 fs/read_write.c:1415 [inline]\n  __x64_sys_sendfile64+0x1d8/0x220 fs/read_write.c:1415\n  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]"
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 7.8,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The only entry point is a write() (or sendfile()/splice()) to the procfs file /proc/sys/net/sctp/udp_port, handled by proc_sctp_do_udp_port(); no remote peer or network packet can reach this code path.\nAC:L - The attacker creates and controls both sides of the race by issuing two concurrent writes to the same sysctl, and the window spans udp_tunnel_sock_release()'s synchronize_rcu() — a millisecond-scale gap between reading net->sctp.udp4_sock and clearing it — making the double release trivially winnable.\nPR:L - The sysctl is per-netns and net_ctl_permissions() grants write access to CAP_NET_ADMIN in the netns's user_ns, which any unprivileged user obtains with `unshare -Urn`; the file is also owned by the ns root uid via net_ctl_set_ownership().\nUI:N - Exploitation is entirely self-contained in the attacker's own threads writing to a procfs file; no victim action or cooperation is required.\nS:U - The double free and subsequent memory corruption occur in kernel heap objects within the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The unserialized sctp_udp_sock_stop() releases the same struct socket twice, producing a use-after-free/double-iput on the socket_alloc slab plus a sock_put() refcount underflow, letting the attacker reallocate the freed object and read back kernel memory contents.\nI:H - The second thread executes kernel_sock_shutdown(), which performs an indirect call via READ_ONCE(sock->ops)->shutdown on the already-freed struct socket, giving a heap-spray-controlled function pointer and thus a control-flow hijack / arbitrary write primitive.\nA:H - The race reliably produces a kernel oops — syzbot reported a general protection fault (null-ptr-deref) in kernel_sock_shutdown() from sctp_udp_sock_stop() — and the double free/refcount underflow crashes or panics the kernel."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "net/sctp/sysctl.c"
                    ],
                    "versions": [
                        {
                            "version": "046c052b475e7119b6a30e3483e2888fc606a2f8",
                            "lessThan": "65ccb2793da7401772a3ffe85355c831b313c59f",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "046c052b475e7119b6a30e3483e2888fc606a2f8",
                            "lessThan": "386507cb6fb7cdef598ddcb3f0fa37e6ca9e789d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "046c052b475e7119b6a30e3483e2888fc606a2f8",
                            "lessThan": "b3598f53211ba1025485306de2733bdd241311a3",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "046c052b475e7119b6a30e3483e2888fc606a2f8",
                            "lessThan": "e5178bfc55b3a78000f0f8298e7ade88783ce581",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "046c052b475e7119b6a30e3483e2888fc606a2f8",
                            "lessThan": "efb8cb487be8f4ba6aaef616011d702d6a083ed1",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "046c052b475e7119b6a30e3483e2888fc606a2f8",
                            "lessThan": "d3d7675d77622f6ca1aae14c51f80027b36283f8",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "046c052b475e7119b6a30e3483e2888fc606a2f8",
                            "lessThan": "10206302af856791fbcc27a33ed3c3eb09b2793d",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "net/sctp/sysctl.c"
                    ],
                    "versions": [
                        {
                            "version": "5.11",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.11",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.184",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.140",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.92",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.23",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.13.11",
                            "lessThanOrEqual": "6.13.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.14.2",
                            "lessThanOrEqual": "6.14.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.15",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.11",
                                    "versionEndExcluding": "5.15.184"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.11",
                                    "versionEndExcluding": "6.1.140"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.11",
                                    "versionEndExcluding": "6.6.92"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.11",
                                    "versionEndExcluding": "6.12.23"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.11",
                                    "versionEndExcluding": "6.13.11"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.11",
                                    "versionEndExcluding": "6.14.2"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.11",
                                    "versionEndExcluding": "6.15"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/65ccb2793da7401772a3ffe85355c831b313c59f"
                },
                {
                    "url": "https://git.kernel.org/stable/c/386507cb6fb7cdef598ddcb3f0fa37e6ca9e789d"
                },
                {
                    "url": "https://git.kernel.org/stable/c/b3598f53211ba1025485306de2733bdd241311a3"
                },
                {
                    "url": "https://git.kernel.org/stable/c/e5178bfc55b3a78000f0f8298e7ade88783ce581"
                },
                {
                    "url": "https://git.kernel.org/stable/c/efb8cb487be8f4ba6aaef616011d702d6a083ed1"
                },
                {
                    "url": "https://git.kernel.org/stable/c/d3d7675d77622f6ca1aae14c51f80027b36283f8"
                },
                {
                    "url": "https://git.kernel.org/stable/c/10206302af856791fbcc27a33ed3c3eb09b2793d"
                }
            ],
            "title": "sctp: add mutual exclusion in proc_sctp_do_udp_port()",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2025/08/msg00010.html"
                    }
                ],
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2025-11-03T19:41:45.338Z"
                }
            }
        ]
    }
}