GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-80991 (GCVE-0-2026-80991)

Vulnerability from cvelistv5 – Published: 2026-09-11 19:42 – Updated: 2026-09-13 06:28
VLAI
Title
net: ravb: serialize PTP clock teardown
Summary
In the Linux kernel, the following vulnerability has been resolved: net: ravb: serialize PTP clock teardown ravb_ptp_interrupt() can race with ravb_ptp_stop() and pass the clock to ptp_clock_event() while ptp_clock_unregister() is freeing it. This can lead to a use-after-free. Use READ_ONCE() and WRITE_ONCE() for lockless access to the clock pointer. Atomically detach it with xchg() before disabling PTP interrupts, then synchronize all IRQs which can invoke ravb_ptp_interrupt() before unregistering the detached clock. A handler which read the old pointer completes before the clock is unregistered, while later handlers read NULL and skip the event.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: a0d2f20650e81407d8e51ad2cbdc492861c74e9c , < 695acb5534a9e366efb47b40c7487fc56488b09b (git)
Affected: a0d2f20650e81407d8e51ad2cbdc492861c74e9c , < 67a82e6f886beed0de8f8da08bb767e68fba952d (git)
Affected: a0d2f20650e81407d8e51ad2cbdc492861c74e9c , < 66b50c31419e7946e9aa325a468ad9b64c961a25 (git)
Affected: a0d2f20650e81407d8e51ad2cbdc492861c74e9c , < 1cb9663789c5b7a12fcd419fcca6d6254c398252 (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.2
Unaffected: 0 , < 4.2 (semver)
Unaffected: 6.12.109 , ≤ 6.12.* (semver)
Unaffected: 6.18.50 , ≤ 6.18.* (semver)
Unaffected: 7.2.4 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (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/net/ethernet/renesas/ravb.h",
            "drivers/net/ethernet/renesas/ravb_main.c",
            "drivers/net/ethernet/renesas/ravb_ptp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "695acb5534a9e366efb47b40c7487fc56488b09b",
              "status": "affected",
              "version": "a0d2f20650e81407d8e51ad2cbdc492861c74e9c",
              "versionType": "git"
            },
            {
              "lessThan": "67a82e6f886beed0de8f8da08bb767e68fba952d",
              "status": "affected",
              "version": "a0d2f20650e81407d8e51ad2cbdc492861c74e9c",
              "versionType": "git"
            },
            {
              "lessThan": "66b50c31419e7946e9aa325a468ad9b64c961a25",
              "status": "affected",
              "version": "a0d2f20650e81407d8e51ad2cbdc492861c74e9c",
              "versionType": "git"
            },
            {
              "lessThan": "1cb9663789c5b7a12fcd419fcca6d6254c398252",
              "status": "affected",
              "version": "a0d2f20650e81407d8e51ad2cbdc492861c74e9c",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/renesas/ravb.h",
            "drivers/net/ethernet/renesas/ravb_main.c",
            "drivers/net/ethernet/renesas/ravb_ptp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.2"
            },
            {
              "lessThan": "4.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.109",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.50",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.4",
              "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.12.109",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.4",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ravb: serialize PTP clock teardown\n\nravb_ptp_interrupt() can race with ravb_ptp_stop() and pass the clock to\nptp_clock_event() while ptp_clock_unregister() is freeing it. This can\nlead to a use-after-free.\n\nUse READ_ONCE() and WRITE_ONCE() for lockless access to the clock pointer.\nAtomically detach it with xchg() before disabling PTP interrupts, then\nsynchronize all IRQs which can invoke ravb_ptp_interrupt() before\nunregistering the detached clock.\n\nA handler which read the old pointer completes before the clock is\nunregistered, while later handlers read NULL and skip the event."
        }
      ],
      "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 - The UAF is reached from the ravb gPTP IRQ handler (ravb_interrupt/ravb_multi_interrupt \u2192 ravb_ptp_interrupt \u2192 ptp_clock_event) racing local ravb_ptp_stop teardown (close, suspend, TX-timeout work, ethtool ringparam). GIS_PTCF capture IRQs come from the on-chip AVB timer, not from parsing received Ethernet frames.\nAC:L - The attacker drives both sides: ordinary sockets or automotive idle autosuspend trigger ravb_ptp_stop, and PTP_EXTTS_REQUEST on /dev/ptpX (write fd, no CAP_SYS_TIME) enables capture IRQs. Pre-fix stop cleared GIC then called ptp_clock_unregister without synchronize_irq, so an in-flight handler can be raced repeatedly.\nPR:L - On Renesas R-Car/RZ automotive and industrial systems, unprivileged traffic arms ravb_tx_timeout_work and platform autosleep calls ravb_close without CAP_NET_ADMIN; EXTTS enable needs only a writable PTP chardev, not host root. This matches CVE-2025-21801 and CVE-2023-52509 ravb scoring.\nUI:N - Interface teardown runs from the TX watchdog or from automatic suspend/idle power management on the affected platforms, with no separate victim user action required.\nS:U - The use-after-free corrupts the host kernel\u0027s struct ptp_clock heap object within a single kernel security authority and does not cross a VM, IOMMU, or sandbox boundary.\nC:H - ptp_clock_event takes ptp-\u003etsevqs_lock and walks the timestamp queue list after ptp_clock_release has kfree\u0027d the clock, so reclaiming that slab provides an arbitrary kernel-memory read primitive.\nI:H - The same IRQ-context UAF writes via enqueue_external_timestamp into list-queue objects the attacker can reclaim, yielding a kernel heap write primitive suitable for control-flow hijacking.\nA:H - Use-after-free of struct ptp_clock in hardirq context causes a kernel oops or panic and takes down the system\u0027s primary Ethernet interface."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-13T06:28:55.151Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/695acb5534a9e366efb47b40c7487fc56488b09b"
        },
        {
          "url": "https://git.kernel.org/stable/c/67a82e6f886beed0de8f8da08bb767e68fba952d"
        },
        {
          "url": "https://git.kernel.org/stable/c/66b50c31419e7946e9aa325a468ad9b64c961a25"
        },
        {
          "url": "https://git.kernel.org/stable/c/1cb9663789c5b7a12fcd419fcca6d6254c398252"
        }
      ],
      "title": "net: ravb: serialize PTP clock teardown",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80991",
    "datePublished": "2026-09-11T19:42:48.187Z",
    "dateReserved": "2026-08-26T14:34:25.811Z",
    "dateUpdated": "2026-09-13T06:28:55.151Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-80991",
      "date": "2026-09-17",
      "epss": "0.00159",
      "percentile": "0.05441"
    },
    "microsoft_vex": {
      "current_release_date": "2026-09-14T14:50:10.000Z",
      "cve": "CVE-2026-80991",
      "id": "msrc_CVE-2026-80991",
      "initial_release_date": "2026-09-13T01:04:10.000Z",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "net: ravb: serialize PTP clock teardown",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-80991.json",
      "version": "2"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/renesas/ravb.h",
                  "drivers/net/ethernet/renesas/ravb_main.c",
                  "drivers/net/ethernet/renesas/ravb_ptp.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "695acb5534a9e366efb47b40c7487fc56488b09b",
                    "status": "affected",
                    "version": "a0d2f20650e81407d8e51ad2cbdc492861c74e9c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "67a82e6f886beed0de8f8da08bb767e68fba952d",
                    "status": "affected",
                    "version": "a0d2f20650e81407d8e51ad2cbdc492861c74e9c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "66b50c31419e7946e9aa325a468ad9b64c961a25",
                    "status": "affected",
                    "version": "a0d2f20650e81407d8e51ad2cbdc492861c74e9c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "1cb9663789c5b7a12fcd419fcca6d6254c398252",
                    "status": "affected",
                    "version": "a0d2f20650e81407d8e51ad2cbdc492861c74e9c",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/renesas/ravb.h",
                  "drivers/net/ethernet/renesas/ravb_main.c",
                  "drivers/net/ethernet/renesas/ravb_ptp.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "4.2"
                  },
                  {
                    "lessThan": "4.2",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.109",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.50",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.4",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc1",
                    "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\nnet: ravb: serialize PTP clock teardown\n\nravb_ptp_interrupt() can race with ravb_ptp_stop() and pass the clock to\nptp_clock_event() while ptp_clock_unregister() is freeing it. This can\nlead to a use-after-free.\n\nUse READ_ONCE() and WRITE_ONCE() for lockless access to the clock pointer.\nAtomically detach it with xchg() before disabling PTP interrupts, then\nsynchronize all IRQs which can invoke ravb_ptp_interrupt() before\nunregistering the detached clock.\n\nA handler which read the old pointer completes before the clock is\nunregistered, while later handlers read NULL and skip the event."
          }
        ],
        "id": "CVE-2026-80991",
        "lastModified": "2026-09-13T07:17:05.830",
        "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-11T20:19:05.993",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/1cb9663789c5b7a12fcd419fcca6d6254c398252"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/66b50c31419e7946e9aa325a468ad9b64c961a25"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/67a82e6f886beed0de8f8da08bb767e68fba952d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/695acb5534a9e366efb47b40c7487fc56488b09b"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-09-14T20:06:07+00:00",
      "cve": "CVE-2026-80991",
      "id": "CVE-2026-80991",
      "initial_release_date": "2026-09-11T00:00:00+00:00",
      "product_status:known_not_affected": "276",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: net: ravb: serialize PTP clock teardown",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-80991.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-09-15T01:04:33Z",
      "cve": "CVE-2026-80991",
      "id": "CVE-2026-80991",
      "initial_release_date": "2026-09-15T01:04:33Z",
      "product_status:known_affected": "349",
      "product_status:known_not_affected": "4",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-80991",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-80991.json",
      "version": "2"
    }
  }
}



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…