{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2022-48696",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-05-03T14:55:07.145Z",
        "datePublished": "2024-05-03T15:09:48.280Z",
        "dateUpdated": "2026-08-05T08:51:49.444Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T08:51:49.444Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nregmap: spi: Reserve space for register address/padding\n\nCurrently the max_raw_read and max_raw_write limits in regmap_spi struct\ndo not take into account the additional size of the transmitted register\naddress and padding.  This may result in exceeding the maximum permitted\nSPI message size, which could cause undefined behaviour, e.g. data\ncorruption.\n\nFix regmap_get_spi_bus() to properly adjust the above mentioned limits\nby reserving space for the register address/padding as set in the regmap\nconfiguration."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H",
                        "baseScore": 7.1,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The flaw is in kernel SPI regmap sizing used by local device drivers (codecs, sensors, MFDs) when performing raw/bulk register I/O; it is not reachable via network protocols or adjacent-link frames, and does not require physical SPI pin access.\nAC:L - On SPI controllers that publish a finite max_message_size, oversized chunking is deterministic arithmetic (max_raw equals max_transfer without reserving reg/pad bytes), so a large regmap_raw_read/write reliably produces an over-limit message with no race or attacker-uncontrollable timing.\nPR:L - Large SPI regmap transfers are reachable from unprivileged local contexts that exercise device interfaces which load firmware or perform bulk I/O (e.g., ALSA/HDA paths that drive Cirrus cs_dsp regmap_raw_write_async, IIO/sysfs device access), without needing init-namespace root or capabilities.\nUI:N - The attacker triggers the oversized SPI message solely by driving their own device I/O or firmware-load path; no separate victim action such as mounting a filesystem or opening a crafted file is required.\nS:U - Impact stays within the host kernel and attached SPI device/controller under the same OS security authority; there is no VM escape, IOMMU bypass, or other cross-boundary effect.\nC:N - The defect causes oversized SPI messages and potential write-side FIFO/MMIO corruption; receive buffers remain caller-sized, and there is no OOB read, UAF, or other kernel information-disclosure primitive.\nI:H - Exceeding max SPI message size yields undefined behavior and data corruption as stated in the fix, and on controllers without a secondary length check (e.g., amd_spi FIFO MMIO writes) constitutes an out-of-bounds write past the hardware FIFO into adjacent controller state—treated as High per OOB-write guidance.\nA:H - Oversized transfers can fail, time out, or leave SPI controller/device state corrupted so subsequent I/O hangs or faults; when choosing between no availability impact and sustained device/controller denial of service, High is the more severe defensible rating."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/base/regmap/regmap-spi.c"
                    ],
                    "versions": [
                        {
                            "version": "f231ff38b7b23197013b437128d196710fe282da",
                            "lessThan": "15ff1f17847c19174b260bd7dd0de33edcebd45e",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "f231ff38b7b23197013b437128d196710fe282da",
                            "lessThan": "f5723cfc01932c7a8d5c78dbf7e067e537c91439",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/base/regmap/regmap-spi.c"
                    ],
                    "versions": [
                        {
                            "version": "5.16",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.16",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.19.9",
                            "lessThanOrEqual": "5.19.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.0",
                            "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.16",
                                    "versionEndExcluding": "5.19.9"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.16",
                                    "versionEndExcluding": "6.0"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/15ff1f17847c19174b260bd7dd0de33edcebd45e"
                },
                {
                    "url": "https://git.kernel.org/stable/c/f5723cfc01932c7a8d5c78dbf7e067e537c91439"
                }
            ],
            "title": "regmap: spi: Reserve space for register address/padding",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "problemTypes": [
                    {
                        "descriptions": [
                            {
                                "type": "CWE",
                                "cweId": "CWE-120",
                                "lang": "en",
                                "description": "CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')"
                            }
                        ]
                    }
                ],
                "metrics": [
                    {
                        "cvssV3_1": {
                            "scope": "UNCHANGED",
                            "version": "3.1",
                            "baseScore": 5.5,
                            "attackVector": "LOCAL",
                            "baseSeverity": "MEDIUM",
                            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
                            "integrityImpact": "HIGH",
                            "userInteraction": "NONE",
                            "attackComplexity": "LOW",
                            "availabilityImpact": "NONE",
                            "privilegesRequired": "LOW",
                            "confidentialityImpact": "NONE"
                        }
                    },
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2024-05-03T19:17:13.192981Z",
                                "id": "CVE-2022-48696",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "role": "CISA Coordinator",
                                "version": "2.0.3"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-11-20T14:43:46.697Z"
                }
            },
            {
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2024-08-03T15:17:55.746Z"
                },
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://git.kernel.org/stable/c/15ff1f17847c19174b260bd7dd0de33edcebd45e",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/f5723cfc01932c7a8d5c78dbf7e067e537c91439",
                        "tags": [
                            "x_transferred"
                        ]
                    }
                ]
            }
        ]
    }
}