{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2022-50270",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2025-09-15T13:58:00.975Z",
        "datePublished": "2025-09-15T14:21:06.735Z",
        "dateUpdated": "2026-08-05T08:58:00.180Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T08:58:00.180Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: fix the assign logic of iocb\n\ncommit 18ae8d12991b (\"f2fs: show more DIO information in tracepoint\")\nintroduces iocb field in 'f2fs_direct_IO_enter' trace event\nAnd it only assigns the pointer and later it accesses its field\nin trace print log.\n\nUnable to handle kernel paging request at virtual address ffffffc04cef3d30\nMem abort info:\nESR = 0x96000007\nEC = 0x25: DABT (current EL), IL = 32 bits\n\n pc : trace_raw_output_f2fs_direct_IO_enter+0x54/0xa4\n lr : trace_raw_output_f2fs_direct_IO_enter+0x2c/0xa4\n sp : ffffffc0443cbbd0\n x29: ffffffc0443cbbf0 x28: ffffff8935b120d0 x27: ffffff8935b12108\n x26: ffffff8935b120f0 x25: ffffff8935b12100 x24: ffffff8935b110c0\n x23: ffffff8935b10000 x22: ffffff88859a936c x21: ffffff88859a936c\n x20: ffffff8935b110c0 x19: ffffff8935b10000 x18: ffffffc03b195060\n x17: ffffff8935b11e76 x16: 00000000000000cc x15: ffffffef855c4f2c\n x14: 0000000000000001 x13: 000000000000004e x12: ffff0000ffffff00\n x11: ffffffef86c350d0 x10: 00000000000010c0 x9 : 000000000fe0002c\n x8 : ffffffc04cef3d28 x7 : 7f7f7f7f7f7f7f7f x6 : 0000000002000000\n x5 : ffffff8935b11e9a x4 : 0000000000006250 x3 : ffff0a00ffffff04\n x2 : 0000000000000002 x1 : ffffffef86a0a31f x0 : ffffff8935b10000\n Call trace:\n  trace_raw_output_f2fs_direct_IO_enter+0x54/0xa4\n  print_trace_fmt+0x9c/0x138\n  print_trace_line+0x154/0x254\n  tracing_read_pipe+0x21c/0x380\n  vfs_read+0x108/0x3ac\n  ksys_read+0x7c/0xec\n  __arm64_sys_read+0x20/0x30\n  invoke_syscall+0x60/0x150\n  el0_svc_common.llvm.1237943816091755067+0xb8/0xf8\n  do_el0_svc+0x28/0xa0\n\nFix it by copying the required variables for printing and while at\nit fix the similar issue at some other places in the same file."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
                        "baseScore": 7.1,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - Exploitation requires local access via f2fs direct I/O or unlink syscalls to record the event, then reading the human-readable trace output through tracefs; it is not reachable from the network stack or remote protocols.\nAC:L - An attacker who can enable the f2fs_direct_IO_enter (or unlink) event and perform O_DIRECT I/O or unlink on an f2fs mount can reliably record a dangling pointer and trigger the unsafe dereference on the next formatted trace read, with no race or uncontrollable precondition.\nPR:L - On the primary real-world f2fs deployment (Android), an unprivileged local user can exercise the DIO/unlink paths that populate the ring buffer; analogous tracepoint dangling-pointer CVEs (e.g. CVE-2025-37938) are scored PR:L, and when uncertain the higher-severity choice applies.\nUI:N - No victim interaction is required; the attacker can enable the event, trigger f2fs DIO/unlink, and read the formatted trace themselves without another user taking action.\nS:U - Impact stays within the local kernel's security authority; this is a standard in-kernel UAF/DoS path with no VM escape, IOMMU bypass, or other cross-boundary effect.\nC:H - The print path dereferences a stale kiocb (and similarly may walk a freed dentry name via %s), copying freed/reused kernel memory into the userspace trace buffer—matching the UAF/info-disclosure guidance for high confidentiality impact.\nI:N - TP_printk only reads the dangling fields for formatting and does not write through the stale pointer, so there is no integrity or control-flow write primitive from this bug.\nA:H - The reported failure is a kernel paging-request oops in trace_raw_output_f2fs_direct_IO_enter while reading trace_pipe, which is a full availability impact under CVSS kernel guidance."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "include/trace/events/f2fs.h"
                    ],
                    "versions": [
                        {
                            "version": "bd984c03097b8e9b7500cba7378040ac1c697dbb",
                            "lessThan": "d555aa37566c5c3728f2e52047a9722eae2aed93",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "bd984c03097b8e9b7500cba7378040ac1c697dbb",
                            "lessThan": "b4244ca341ea95c52ee8fa93d04f5af3e584dd37",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "bd984c03097b8e9b7500cba7378040ac1c697dbb",
                            "lessThan": "0db18eec0d9a7ee525209e31e3ac2f673545b12f",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "include/trace/events/f2fs.h"
                    ],
                    "versions": [
                        {
                            "version": "5.17",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.17",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.0.16",
                            "lessThanOrEqual": "6.0.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.2",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.2",
                            "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.17",
                                    "versionEndExcluding": "6.0.16"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.17",
                                    "versionEndExcluding": "6.1.2"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.17",
                                    "versionEndExcluding": "6.2"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/d555aa37566c5c3728f2e52047a9722eae2aed93"
                },
                {
                    "url": "https://git.kernel.org/stable/c/b4244ca341ea95c52ee8fa93d04f5af3e584dd37"
                },
                {
                    "url": "https://git.kernel.org/stable/c/0db18eec0d9a7ee525209e31e3ac2f673545b12f"
                }
            ],
            "title": "f2fs: fix the assign logic of iocb",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}