CVE-2026-80737 (GCVE-0-2026-80737)

Vulnerability from cvelistv5 – Published: 2026-09-03 08:21 – Updated: 2026-09-04 04:58
VLAI
Title
serial: amba-pl011: synchronize DMA teardown
Summary
In the Linux kernel, the following vulnerability has been resolved: serial: amba-pl011: synchronize DMA teardown dmaengine_terminate_all() does not wait for a running callback, so the TX callback can still touch the TX buffer after it is freed. The RX poll timer reads the RX buffers without the port lock. Switch to dmaengine_terminate_sync() and delete the RX timer before freeing the buffers.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: ead76f329f777c7301e0a5456a0a1c7a081570bd , < a38fae9d212e2d3ed5e9ec0ef773f8c0a27fb76e (git)
Affected: ead76f329f777c7301e0a5456a0a1c7a081570bd , < 44bd0ecc3444882d08ecfbc2b2418d2f463d3186 (git)
Affected: ead76f329f777c7301e0a5456a0a1c7a081570bd , < f70c9d4fba46463a5b1c7b3ee9ee3b40c90dac03 (git)
Affected: ead76f329f777c7301e0a5456a0a1c7a081570bd , < c8c8e895f65fbf71ea6224e27cf8dab91b776e0d (git)
Affected: ead76f329f777c7301e0a5456a0a1c7a081570bd , < 9f6989e477f03a4721d34bb4b09b17accd40283e (git)
Affected: ead76f329f777c7301e0a5456a0a1c7a081570bd , < 5974cb66681eac367107b05924744d7e3b49d41c (git)
Affected: ead76f329f777c7301e0a5456a0a1c7a081570bd , < fdfb46c387241b4eddd36d746793764413285913 (git)
Affected: ead76f329f777c7301e0a5456a0a1c7a081570bd , < 440915499231e9db1c361aa45bb702e8fd3b4a32 (git)
guessed Create a notification for this product.
Linux Linux Affected: 2.6.39
Unaffected: 0 , < 2.6.39 (semver)
Unaffected: 5.10.267 , ≤ 5.10.* (semver)
Unaffected: 5.15.218 , ≤ 5.15.* (semver)
Unaffected: 6.1.185 , ≤ 6.1.* (semver)
Unaffected: 6.6.154 , ≤ 6.6.* (semver)
Unaffected: 6.12.106 , ≤ 6.12.* (semver)
Unaffected: 6.18.45 , ≤ 6.18.* (semver)
Unaffected: 7.1.9 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/tty/serial/amba-pl011.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a38fae9d212e2d3ed5e9ec0ef773f8c0a27fb76e",
              "status": "affected",
              "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
              "versionType": "git"
            },
            {
              "lessThan": "44bd0ecc3444882d08ecfbc2b2418d2f463d3186",
              "status": "affected",
              "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
              "versionType": "git"
            },
            {
              "lessThan": "f70c9d4fba46463a5b1c7b3ee9ee3b40c90dac03",
              "status": "affected",
              "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
              "versionType": "git"
            },
            {
              "lessThan": "c8c8e895f65fbf71ea6224e27cf8dab91b776e0d",
              "status": "affected",
              "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
              "versionType": "git"
            },
            {
              "lessThan": "9f6989e477f03a4721d34bb4b09b17accd40283e",
              "status": "affected",
              "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
              "versionType": "git"
            },
            {
              "lessThan": "5974cb66681eac367107b05924744d7e3b49d41c",
              "status": "affected",
              "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
              "versionType": "git"
            },
            {
              "lessThan": "fdfb46c387241b4eddd36d746793764413285913",
              "status": "affected",
              "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
              "versionType": "git"
            },
            {
              "lessThan": "440915499231e9db1c361aa45bb702e8fd3b4a32",
              "status": "affected",
              "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/tty/serial/amba-pl011.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.39"
            },
            {
              "lessThan": "2.6.39",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.267",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.218",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.185",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.154",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.106",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.45",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.9",
              "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": "5.10.267",
                  "versionStartIncluding": "2.6.39",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.218",
                  "versionStartIncluding": "2.6.39",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.185",
                  "versionStartIncluding": "2.6.39",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.154",
                  "versionStartIncluding": "2.6.39",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.106",
                  "versionStartIncluding": "2.6.39",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.45",
                  "versionStartIncluding": "2.6.39",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.9",
                  "versionStartIncluding": "2.6.39",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "2.6.39",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nserial: amba-pl011: synchronize DMA teardown\n\ndmaengine_terminate_all() does not wait for a running callback, so the TX\ncallback can still touch the TX buffer after it is freed. The RX poll\ntimer reads the RX buffers without the port lock.\n\nSwitch to dmaengine_terminate_sync() and delete the RX timer before\nfreeing the buffers."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - Local tty device access via open/write/close on /dev/ttyAMA* or similar; PL011 DMA teardown runs in pl011_shutdown from uart_close/hangup/suspend, not via network protocols.\nAC:L - Attacker with tty fd controls DMA load (large writes for TX DMA, active RX) and teardown timing via close/hangup; they can repeatedly race shutdown against in-flight DMA callbacks/timers without uncontrollable conditions.\nPR:L - Requires open/write/close on the UART tty node, typically granted via dialout group on embedded ARM systems with PL011 DMA; not via user namespaces alone, but no root required on auxiliary serial ports.\nUI:N - Attacker performs all steps themselves (open port, queue DMA traffic, close); no separate victim action needed.\nS:U - Kernel heap/coherent-buffer UAF during UART driver teardown affects only local kernel resources; no VM escape, IOMMU bypass, or cross-security-authority boundary.\nC:H - TX DMA callback or RX poll timer can access freed TX kmalloc buffer or RX dma coherent pages, yielding UAF read primitives over kernel memory and potential information disclosure.\nI:H - Post-free access via pl011_dma_tx_refill/dma_map or pl011_dma_rx_poll writing into tty flip buffers enables heap corruption and potential kernel code execution or privilege escalation.\nA:H - UAF during DMA teardown can provoke kernel oops/panic from concurrent access to freed buffers, and repeated triggering can deny UART service or crash the host."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-04T04:58:22.813Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a38fae9d212e2d3ed5e9ec0ef773f8c0a27fb76e"
        },
        {
          "url": "https://git.kernel.org/stable/c/44bd0ecc3444882d08ecfbc2b2418d2f463d3186"
        },
        {
          "url": "https://git.kernel.org/stable/c/f70c9d4fba46463a5b1c7b3ee9ee3b40c90dac03"
        },
        {
          "url": "https://git.kernel.org/stable/c/c8c8e895f65fbf71ea6224e27cf8dab91b776e0d"
        },
        {
          "url": "https://git.kernel.org/stable/c/9f6989e477f03a4721d34bb4b09b17accd40283e"
        },
        {
          "url": "https://git.kernel.org/stable/c/5974cb66681eac367107b05924744d7e3b49d41c"
        },
        {
          "url": "https://git.kernel.org/stable/c/fdfb46c387241b4eddd36d746793764413285913"
        },
        {
          "url": "https://git.kernel.org/stable/c/440915499231e9db1c361aa45bb702e8fd3b4a32"
        }
      ],
      "title": "serial: amba-pl011: synchronize DMA teardown",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80737",
    "datePublished": "2026-09-03T08:21:52.539Z",
    "dateReserved": "2026-08-26T14:34:25.789Z",
    "dateUpdated": "2026-09-04T04:58:22.813Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-80737",
      "date": "2026-09-20",
      "epss": "0.00164",
      "percentile": "0.06044"
    },
    "microsoft_vex": {
      "current_release_date": "2026-09-04T01:05:04.000Z",
      "cve": "CVE-2026-80737",
      "id": "msrc_CVE-2026-80737",
      "initial_release_date": "2026-09-04T01:05:04.000Z",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "serial: amba-pl011: synchronize DMA teardown",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-80737.json",
      "version": "1"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/tty/serial/amba-pl011.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "a38fae9d212e2d3ed5e9ec0ef773f8c0a27fb76e",
                    "status": "affected",
                    "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "44bd0ecc3444882d08ecfbc2b2418d2f463d3186",
                    "status": "affected",
                    "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "f70c9d4fba46463a5b1c7b3ee9ee3b40c90dac03",
                    "status": "affected",
                    "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "c8c8e895f65fbf71ea6224e27cf8dab91b776e0d",
                    "status": "affected",
                    "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "9f6989e477f03a4721d34bb4b09b17accd40283e",
                    "status": "affected",
                    "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "5974cb66681eac367107b05924744d7e3b49d41c",
                    "status": "affected",
                    "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "fdfb46c387241b4eddd36d746793764413285913",
                    "status": "affected",
                    "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "440915499231e9db1c361aa45bb702e8fd3b4a32",
                    "status": "affected",
                    "version": "ead76f329f777c7301e0a5456a0a1c7a081570bd",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/tty/serial/amba-pl011.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "2.6.39"
                  },
                  {
                    "lessThan": "2.6.39",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.267",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.218",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.185",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.154",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.106",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.45",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.9",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nserial: amba-pl011: synchronize DMA teardown\n\ndmaengine_terminate_all() does not wait for a running callback, so the TX\ncallback can still touch the TX buffer after it is freed. The RX poll\ntimer reads the RX buffers without the port lock.\n\nSwitch to dmaengine_terminate_sync() and delete the RX timer before\nfreeing the buffers."
          }
        ],
        "id": "CVE-2026-80737",
        "lastModified": "2026-09-04T05:17:14.247",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-09-03T13:06:12.623",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/440915499231e9db1c361aa45bb702e8fd3b4a32"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/44bd0ecc3444882d08ecfbc2b2418d2f463d3186"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/5974cb66681eac367107b05924744d7e3b49d41c"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/9f6989e477f03a4721d34bb4b09b17accd40283e"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/a38fae9d212e2d3ed5e9ec0ef773f8c0a27fb76e"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/c8c8e895f65fbf71ea6224e27cf8dab91b776e0d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/f70c9d4fba46463a5b1c7b3ee9ee3b40c90dac03"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/fdfb46c387241b4eddd36d746793764413285913"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…