{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2022-50307", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2025-09-15T14:18:36.813Z", "datePublished": "2025-09-15T14:46:02.608Z", "dateUpdated": "2026-05-11T19:16:46.881Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-05-11T19:16:46.881Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ns390/cio: fix out-of-bounds access on cio_ignore free\n\nThe channel-subsystem-driver scans for newly available devices whenever\ndevice-IDs are removed from the cio_ignore list using a command such as:\n\n echo free >/proc/cio_ignore\n\nSince an I/O device scan might interfer with running I/Os, commit\n172da89ed0ea (\"s390/cio: avoid excessive path-verification requests\")\nintroduced an optimization to exclude online devices from the scan.\n\nThe newly added check for online devices incorrectly assumes that\nan I/O-subchannel's drvdata points to a struct io_subchannel_private.\nFor devices that are bound to a non-default I/O subchannel driver, such\nas the vfio_ccw driver, this results in an out-of-bounds read access\nduring each scan.\n\nFix this by changing the scan logic to rely on a driver-independent\nonline indication. For this we can use struct subchannel->config.ena,\nwhich is the driver's requested subchannel-enabled state. Since I/Os\ncan only be started on enabled subchannels, this matches the intent\nof the original optimization of not scanning devices where I/O might\nbe running." } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/s390/cio/css.c" ], "versions": [ { "version": "172da89ed0eaf9d9348f5decb86ad04c624b39d1", "lessThan": "0e501fd0f38e42304bfa0d46a812d93f80294a87", "status": "affected", "versionType": "git" }, { "version": "172da89ed0eaf9d9348f5decb86ad04c624b39d1", "lessThan": "106ab66cf5467726ca5ead51623043d37c06820a", "status": "affected", "versionType": "git" }, { "version": "172da89ed0eaf9d9348f5decb86ad04c624b39d1", "lessThan": "1b6074112742f65ece71b0f299ca5a6a887d2db6", "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/s390/cio/css.c" ], "versions": [ { "version": "5.15", "status": "affected" }, { "version": "0", "lessThan": "5.15", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.78", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.0.7", "lessThanOrEqual": "6.0.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1", "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.15", "versionEndExcluding": "5.15.78" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.15", "versionEndExcluding": "6.0.7" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.15", "versionEndExcluding": "6.1" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/0e501fd0f38e42304bfa0d46a812d93f80294a87" }, { "url": "https://git.kernel.org/stable/c/106ab66cf5467726ca5ead51623043d37c06820a" }, { "url": "https://git.kernel.org/stable/c/1b6074112742f65ece71b0f299ca5a6a887d2db6" } ], "title": "s390/cio: fix out-of-bounds access on cio_ignore free", "x_generator": { "engine": "bippy-1.2.0" } } } }