{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2023-53998", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2025-12-24T10:53:46.176Z", "datePublished": "2025-12-24T10:55:34.856Z", "dateUpdated": "2026-05-11T19:53:18.694Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-05-11T19:53:18.694Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nhwrng: virtio - Fix race on data_avail and actual data\n\nThe virtio rng device kicks off a new entropy request whenever the\ndata available reaches zero. When a new request occurs at the end\nof a read operation, that is, when the result of that request is\nonly needed by the next reader, then there is a race between the\nwriting of the new data and the next reader.\n\nThis is because there is no synchronisation whatsoever between the\nwriter and the reader.\n\nFix this by writing data_avail with smp_store_release and reading\nit with smp_load_acquire when we first enter read. The subsequent\nreads are safe because they're either protected by the first load\nacquire, or by the completion mechanism.\n\nAlso remove the redundant zeroing of data_idx in random_recv_done\n(data_idx must already be zero at this point) and data_avail in\nrequest_entropy (ditto)." } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/char/hw_random/virtio-rng.c" ], "versions": [ { "version": "f7f510ec195781c857ab76366a3e1c59e1caae42", "lessThan": "241ef15776a7c8505008db689175b320d345ecd3", "status": "affected", "versionType": "git" }, { "version": "f7f510ec195781c857ab76366a3e1c59e1caae42", "lessThan": "a43bcb0b661cbbf3ad797d2aee6b6fd06b8fc69d", "status": "affected", "versionType": "git" }, { "version": "f7f510ec195781c857ab76366a3e1c59e1caae42", "lessThan": "77471e4912d3960dafe141e268c44be8024fe4dc", "status": "affected", "versionType": "git" }, { "version": "f7f510ec195781c857ab76366a3e1c59e1caae42", "lessThan": "c76d991b6f01a5d931e7053a73bc9524975a5215", "status": "affected", "versionType": "git" }, { "version": "f7f510ec195781c857ab76366a3e1c59e1caae42", "lessThan": "22c30022cde6e2c88612b3a499223cfa912f1bc7", "status": "affected", "versionType": "git" }, { "version": "f7f510ec195781c857ab76366a3e1c59e1caae42", "lessThan": "318657b4c2077289659f1cd9e2a34f6a3b208e3e", "status": "affected", "versionType": "git" }, { "version": "f7f510ec195781c857ab76366a3e1c59e1caae42", "lessThan": "2fc91f156b3f3446a1bce80cf4adedcbf41271c2", "status": "affected", "versionType": "git" }, { "version": "f7f510ec195781c857ab76366a3e1c59e1caae42", "lessThan": "ac52578d6e8d300dd50f790f29a24169b1edd26c", "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/char/hw_random/virtio-rng.c" ], "versions": [ { "version": "2.6.26", "status": "affected" }, { "version": "0", "lessThan": "2.6.26", "status": "unaffected", "versionType": "semver" }, { "version": "4.19.291", "lessThanOrEqual": "4.19.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.4.251", "lessThanOrEqual": "5.4.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.188", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.121", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.39", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.3.13", "lessThanOrEqual": "6.3.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.4.4", "lessThanOrEqual": "6.4.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.5", "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": "2.6.26", "versionEndExcluding": "4.19.291" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.26", "versionEndExcluding": "5.4.251" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.26", "versionEndExcluding": "5.10.188" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.26", "versionEndExcluding": "5.15.121" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.26", "versionEndExcluding": "6.1.39" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.26", "versionEndExcluding": "6.3.13" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.26", "versionEndExcluding": "6.4.4" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.26", "versionEndExcluding": "6.5" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/241ef15776a7c8505008db689175b320d345ecd3" }, { "url": "https://git.kernel.org/stable/c/a43bcb0b661cbbf3ad797d2aee6b6fd06b8fc69d" }, { "url": "https://git.kernel.org/stable/c/77471e4912d3960dafe141e268c44be8024fe4dc" }, { "url": "https://git.kernel.org/stable/c/c76d991b6f01a5d931e7053a73bc9524975a5215" }, { "url": "https://git.kernel.org/stable/c/22c30022cde6e2c88612b3a499223cfa912f1bc7" }, { "url": "https://git.kernel.org/stable/c/318657b4c2077289659f1cd9e2a34f6a3b208e3e" }, { "url": "https://git.kernel.org/stable/c/2fc91f156b3f3446a1bce80cf4adedcbf41271c2" }, { "url": "https://git.kernel.org/stable/c/ac52578d6e8d300dd50f790f29a24169b1edd26c" } ], "title": "hwrng: virtio - Fix race on data_avail and actual data", "x_generator": { "engine": "bippy-1.2.0" } } } }