← Back to CVE Explorer

CVE-2026-98750

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: tty: fix saved termios reset race Resetting saved termios state on device registration is needed where a minor number can be reused for an entirely different device and where the old settings may prevent the port from even being opened (e.g. when CLOCAL is not set). Not all TTY drivers guarantee that the minor number is no longer in use when registering devices however, something which can lead to a use-after-free when closing a TTY (and saving its termios) races with re-registration. Add a new TTY_DRIVER_RESET_SAVED_TERMIOS flag to request that any saved termios state is reset on registration and only set it for drivers that make sure that the minor number is no longer in use.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-18 16:17:28.767000
Last modified
2026-10-30 13:21:23.787000
View original CVE JSON
{
  "id": "CVE-2026-98750",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-10-18T16:17:28.767",
  "lastModified": "2026-10-30T13:21:23.787",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntty: fix saved termios reset race\n\nResetting saved termios state on device registration is needed where a\nminor number can be reused for an entirely different device and where\nthe old settings may prevent the port from even being opened (e.g. when\nCLOCAL is not set).\n\nNot all TTY drivers guarantee that the minor number is no longer in use\nwhen registering devices however, something which can lead to a\nuse-after-free when closing a TTY (and saving its termios) races with\nre-registration.\n\nAdd a new TTY_DRIVER_RESET_SAVED_TERMIOS flag to request that any saved\ntermios state is reset on registration and only set it for drivers that\nmake sure that the minor number is no longer in use."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/staging/greybus/uart.c",
            "drivers/tty/tty_io.c",
            "drivers/usb/class/cdc-acm.c",
            "drivers/usb/serial/usb-serial.c",
            "include/linux/tty_driver.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "93857edd9829e144acb6c7e72d593f6e01aead66",
              "lessThan": "15ddaf908a8eee14e1872ff9c4cdb73562634e7e",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "93857edd9829e144acb6c7e72d593f6e01aead66",
              "lessThan": "bcb9b5df70d439f3c9d5a2d7f359dd7ab117bee0",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "93857edd9829e144acb6c7e72d593f6e01aead66",
              "lessThan": "33048616c4e22930e8769b8d14ee8a0dc5a80ceb",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "93857edd9829e144acb6c7e72d593f6e01aead66",
              "lessThan": "6b4e15cccfbe03b7c6ae60ff570c401bfb1e51d6",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "93857edd9829e144acb6c7e72d593f6e01aead66",
              "lessThan": "1572d86bcf0bcb848d20fc5e5de7ed6963034c2b",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "93857edd9829e144acb6c7e72d593f6e01aead66",
              "lessThan": "08bf919f041af9de372428bb0c938157ea144164",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "93857edd9829e144acb6c7e72d593f6e01aead66",
              "lessThan": "dcaf0251f847a45861e94c6617024a9455687d2f",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "93857edd9829e144acb6c7e72d593f6e01aead66",
              "lessThan": "8df07fe93573e9e548d6645273e9bcb6eb74059e",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/staging/greybus/uart.c",
            "drivers/tty/tty_io.c",
            "drivers/usb/class/cdc-acm.c",
            "drivers/usb/serial/usb-serial.c",
            "include/linux/tty_driver.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "4.12",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "4.12",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.273",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.224",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.191",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.160",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.113",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.56",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.10",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/08bf919f041af9de372428bb0c938157ea144164",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/1572d86bcf0bcb848d20fc5e5de7ed6963034c2b",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/15ddaf908a8eee14e1872ff9c4cdb73562634e7e",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/33048616c4e22930e8769b8d14ee8a0dc5a80ceb",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6b4e15cccfbe03b7c6ae60ff570c401bfb1e51d6",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/8df07fe93573e9e548d6645273e9bcb6eb74059e",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/bcb9b5df70d439f3c9d5a2d7f359dd7ab117bee0",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/dcaf0251f847a45861e94c6617024a9455687d2f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}