{"api_version":"1","generated_at":"2026-09-17T20:26:14+00:00","cve":"CVE-2026-93157","urls":{"html":"https://cve.report/CVE-2026-93157","api":"https://cve.report/api/cve/CVE-2026-93157.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-93157","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-93157"},"summary":{"title":"hwrng: xilinx-trng - propagate timeout before any data is read","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwrng: xilinx-trng - propagate timeout before any data is read\n\nxtrng_readblock32() polls for 16-byte chunks but returns the number of\nbytes read even when the first poll times out. Its caller then treats a\nzero return as a short successful read, and partial reads for full\n32-byte blocks can make the tail copy use a fixed block offset rather\nthan the amount already produced.\n\nReturn the poll error when no data has been read, preserve partial\npositive returns after some data is available, stop the generator on all\ncollection exits, and append tail bytes at the current output count.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-17 17:18:11","updated_at":"2026-09-17 17:18:11"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/bdc3b37a935f28c3e9eb2f6e889b4644d859fb08","name":"https://git.kernel.org/stable/c/bdc3b37a935f28c3e9eb2f6e889b4644d859fb08","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/ba088974419326daf46c5dc03e2cf6ab6ab701f7","name":"https://git.kernel.org/stable/c/ba088974419326daf46c5dc03e2cf6ab6ab701f7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/62219775a07ce0bd8085852f3d1e2d772bf6fdec","name":"https://git.kernel.org/stable/c/62219775a07ce0bd8085852f3d1e2d772bf6fdec","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-93157","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-93157","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8979744aca8096ee5072798dfc1181606919b35d 62219775a07ce0bd8085852f3d1e2d772bf6fdec git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8979744aca8096ee5072798dfc1181606919b35d bdc3b37a935f28c3e9eb2f6e889b4644d859fb08 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8979744aca8096ee5072798dfc1181606919b35d ba088974419326daf46c5dc03e2cf6ab6ab701f7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.18","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.52 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.6 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/char/hw_random/xilinx-trng.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"62219775a07ce0bd8085852f3d1e2d772bf6fdec","status":"affected","version":"8979744aca8096ee5072798dfc1181606919b35d","versionType":"git"},{"lessThan":"bdc3b37a935f28c3e9eb2f6e889b4644d859fb08","status":"affected","version":"8979744aca8096ee5072798dfc1181606919b35d","versionType":"git"},{"lessThan":"ba088974419326daf46c5dc03e2cf6ab6ab701f7","status":"affected","version":"8979744aca8096ee5072798dfc1181606919b35d","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/char/hw_random/xilinx-trng.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.18"},{"lessThan":"6.18","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.52","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.6","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.52","versionStartIncluding":"6.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.6","versionStartIncluding":"6.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc1","versionStartIncluding":"6.18","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwrng: xilinx-trng - propagate timeout before any data is read\n\nxtrng_readblock32() polls for 16-byte chunks but returns the number of\nbytes read even when the first poll times out. Its caller then treats a\nzero return as a short successful read, and partial reads for full\n32-byte blocks can make the tail copy use a fixed block offset rather\nthan the amount already produced.\n\nReturn the poll error when no data has been read, preserve partial\npositive returns after some data is available, stop the generator on all\ncollection exits, and append tail bytes at the current output count."}],"providerMetadata":{"dateUpdated":"2026-09-17T16:11:52.459Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/62219775a07ce0bd8085852f3d1e2d772bf6fdec"},{"url":"https://git.kernel.org/stable/c/bdc3b37a935f28c3e9eb2f6e889b4644d859fb08"},{"url":"https://git.kernel.org/stable/c/ba088974419326daf46c5dc03e2cf6ab6ab701f7"}],"title":"hwrng: xilinx-trng - propagate timeout before any data is read","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-93157","datePublished":"2026-09-17T16:11:52.459Z","dateReserved":"2026-09-17T16:02:15.089Z","dateUpdated":"2026-09-17T16:11:52.459Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-17 17:18:11","lastModifiedDate":"2026-09-17 17:18:11","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"93157","Ordinal":"1","Title":"hwrng: xilinx-trng - propagate timeout before any data is read","CVE":"CVE-2026-93157","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"93157","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwrng: xilinx-trng - propagate timeout before any data is read\n\nxtrng_readblock32() polls for 16-byte chunks but returns the number of\nbytes read even when the first poll times out. Its caller then treats a\nzero return as a short successful read, and partial reads for full\n32-byte blocks can make the tail copy use a fixed block offset rather\nthan the amount already produced.\n\nReturn the poll error when no data has been read, preserve partial\npositive returns after some data is available, stop the generator on all\ncollection exits, and append tail bytes at the current output count.","Type":"Description","Title":"hwrng: xilinx-trng - propagate timeout before any data is read"}]}}}