{"api_version":"1","generated_at":"2026-08-22T05:31:14+00:00","cve":"CVE-2026-72149","urls":{"html":"https://cve.report/CVE-2026-72149","api":"https://cve.report/api/cve/CVE-2026-72149.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-72149","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-72149"},"summary":{"title":"dmaengine: tegra: Fix burst size calculation","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndmaengine: tegra: Fix burst size calculation\n\nCurrently, the Tegra GPC DMA hardware requires the transfer length to\nbe a multiple of the max burst size configured for the channel. When a\nclient requests a transfer where the length is not evenly divisible by\nthe configured max burst size, the DMA hangs with partial burst at\nthe end.\n\nFix this by reducing the burst size to the largest power-of-2 value\nthat evenly divides the transfer length. For example, a 40-byte\ntransfer with a 16-byte max burst will now use an 8-byte burst\n(40 / 8 = 5 complete bursts) instead of causing a hang.\n\nThis issue was observed with the PL011 UART driver where TX DMA\ntransfers of arbitrary lengths were stuck.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-15 06:21:32","updated_at":"2026-08-17 06:18:15"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"baseScore":7.5,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"references":[{"url":"https://git.kernel.org/stable/c/6e37e9e230c7e848bd8e8cd4db15bb18bcf11ad1","name":"https://git.kernel.org/stable/c/6e37e9e230c7e848bd8e8cd4db15bb18bcf11ad1","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/7926c1e4be86379945fb5f168888ac4d2aaf6c91","name":"https://git.kernel.org/stable/c/7926c1e4be86379945fb5f168888ac4d2aaf6c91","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/735951baa311c66353405dcac39375dd66441db0","name":"https://git.kernel.org/stable/c/735951baa311c66353405dcac39375dd66441db0","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/4651df83b6c796daead3447e8fd874322918ee4f","name":"https://git.kernel.org/stable/c/4651df83b6c796daead3447e8fd874322918ee4f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/8f0f5de1091119679d87f60dfb1acbff4b2a0ed3","name":"https://git.kernel.org/stable/c/8f0f5de1091119679d87f60dfb1acbff4b2a0ed3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a3b76b54e06d73166af4d1a284a0e0711889060c","name":"https://git.kernel.org/stable/c/a3b76b54e06d73166af4d1a284a0e0711889060c","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-72149","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72149","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected ee17028009d49fffed8cc963455d33b1fd3f1d08 735951baa311c66353405dcac39375dd66441db0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected ee17028009d49fffed8cc963455d33b1fd3f1d08 8f0f5de1091119679d87f60dfb1acbff4b2a0ed3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected ee17028009d49fffed8cc963455d33b1fd3f1d08 a3b76b54e06d73166af4d1a284a0e0711889060c git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected ee17028009d49fffed8cc963455d33b1fd3f1d08 7926c1e4be86379945fb5f168888ac4d2aaf6c91 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected ee17028009d49fffed8cc963455d33b1fd3f1d08 6e37e9e230c7e848bd8e8cd4db15bb18bcf11ad1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected ee17028009d49fffed8cc963455d33b1fd3f1d08 4651df83b6c796daead3447e8fd874322918ee4f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.19","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.19 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.178 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.145 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.97 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.40 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.5 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"72149","cve":"CVE-2026-72149","epss":"0.006550000","percentile":"0.483960000","score_date":"2026-08-17","updated_at":"2026-08-18 00:11:47"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/dma/tegra186-gpc-dma.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"735951baa311c66353405dcac39375dd66441db0","status":"affected","version":"ee17028009d49fffed8cc963455d33b1fd3f1d08","versionType":"git"},{"lessThan":"8f0f5de1091119679d87f60dfb1acbff4b2a0ed3","status":"affected","version":"ee17028009d49fffed8cc963455d33b1fd3f1d08","versionType":"git"},{"lessThan":"a3b76b54e06d73166af4d1a284a0e0711889060c","status":"affected","version":"ee17028009d49fffed8cc963455d33b1fd3f1d08","versionType":"git"},{"lessThan":"7926c1e4be86379945fb5f168888ac4d2aaf6c91","status":"affected","version":"ee17028009d49fffed8cc963455d33b1fd3f1d08","versionType":"git"},{"lessThan":"6e37e9e230c7e848bd8e8cd4db15bb18bcf11ad1","status":"affected","version":"ee17028009d49fffed8cc963455d33b1fd3f1d08","versionType":"git"},{"lessThan":"4651df83b6c796daead3447e8fd874322918ee4f","status":"affected","version":"ee17028009d49fffed8cc963455d33b1fd3f1d08","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/dma/tegra186-gpc-dma.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.19"},{"lessThan":"5.19","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.178","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.145","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.97","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.40","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.5","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.178","versionStartIncluding":"5.19","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.145","versionStartIncluding":"5.19","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.97","versionStartIncluding":"5.19","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.40","versionStartIncluding":"5.19","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.5","versionStartIncluding":"5.19","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2","versionStartIncluding":"5.19","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndmaengine: tegra: Fix burst size calculation\n\nCurrently, the Tegra GPC DMA hardware requires the transfer length to\nbe a multiple of the max burst size configured for the channel. When a\nclient requests a transfer where the length is not evenly divisible by\nthe configured max burst size, the DMA hangs with partial burst at\nthe end.\n\nFix this by reducing the burst size to the largest power-of-2 value\nthat evenly divides the transfer length. For example, a 40-byte\ntransfer with a 16-byte max burst will now use an 8-byte burst\n(40 / 8 = 5 complete bursts) instead of causing a hang.\n\nThis issue was observed with the PL011 UART driver where TX DMA\ntransfers of arbitrary lengths were stuck."}],"metrics":[{"cvssV3_1":{"baseScore":7.5,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"scenarios":[{"lang":"en","value":"AV:N - On Tegra embedded systems (Jetson gateways, automotive ECUs, industrial controllers), UART/I2C/SPI slaves using GPC DMA are routinely bridged to TCP/UDP or cellular backhaul; remote peers can deliver crafted-length byte streams that reach tegra_dma_prep_slave_sg() without local shell access.\nAC:L - The attacker controls transfer length (e.g., 40 bytes against a 16-byte burst); word-aligned mismatches are deterministic for many sizes and the bug was reproduced with arbitrary PL011 TX DMA lengths, requiring no race, timing window, or special memory layout.\nPR:N - Network-exposed serial/fieldbus gateways and modem UART paths routinely accept unauthenticated remote traffic forwarded into kernel DMA slave transfers; no local OS account, dialout membership, or root capability on the Tegra host is required.\nUI:N - Exploitation requires only attacker-supplied I/O of a chosen length through an exposed peripheral path; no victim must open a device, mount media, or perform any other action.\nS:U - The DMA engine hang and resulting peripheral denial occur entirely within the host kernel; no VM, hypervisor, or IOMMU security boundary is crossed.\nC:N - The flaw is a hardware DMA configuration hang with no out-of-bounds access, use-after-free, or information leak; the controller stalls on a partial burst without exposing kernel memory contents.\nI:N - No memory corruption or attacker-controlled writes occur; impact is limited to stalling DMA completion and hanging the affected channel/peripheral rather than modifying data or hijacking control flow.\nA:H - A mismatched burst leaves the GPC DMA channel permanently busy (tegra_dma_pause() times out, no EOC IRQ), wedging UART/I2C/SPI DMA paths and blocking driver completion until reboot—a deadlock-style denial of service."}]}],"providerMetadata":{"dateUpdated":"2026-08-17T05:40:59.373Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/735951baa311c66353405dcac39375dd66441db0"},{"url":"https://git.kernel.org/stable/c/8f0f5de1091119679d87f60dfb1acbff4b2a0ed3"},{"url":"https://git.kernel.org/stable/c/a3b76b54e06d73166af4d1a284a0e0711889060c"},{"url":"https://git.kernel.org/stable/c/7926c1e4be86379945fb5f168888ac4d2aaf6c91"},{"url":"https://git.kernel.org/stable/c/6e37e9e230c7e848bd8e8cd4db15bb18bcf11ad1"},{"url":"https://git.kernel.org/stable/c/4651df83b6c796daead3447e8fd874322918ee4f"}],"title":"dmaengine: tegra: Fix burst size calculation","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-72149","datePublished":"2026-08-15T05:53:20.695Z","dateReserved":"2026-08-09T03:40:39.908Z","dateUpdated":"2026-08-17T05:40:59.373Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-15 06:21:32","lastModifiedDate":"2026-08-17 06:18:15","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"72149","Ordinal":"1","Title":"dmaengine: tegra: Fix burst size calculation","CVE":"CVE-2026-72149","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"72149","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\ndmaengine: tegra: Fix burst size calculation\n\nCurrently, the Tegra GPC DMA hardware requires the transfer length to\nbe a multiple of the max burst size configured for the channel. When a\nclient requests a transfer where the length is not evenly divisible by\nthe configured max burst size, the DMA hangs with partial burst at\nthe end.\n\nFix this by reducing the burst size to the largest power-of-2 value\nthat evenly divides the transfer length. For example, a 40-byte\ntransfer with a 16-byte max burst will now use an 8-byte burst\n(40 / 8 = 5 complete bursts) instead of causing a hang.\n\nThis issue was observed with the PL011 UART driver where TX DMA\ntransfers of arbitrary lengths were stuck.","Type":"Description","Title":"dmaengine: tegra: Fix burst size calculation"}]}}}