← Back to CVE Explorer

CVE-2026-89543

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: sunrpc: fix use-after-free in __rpc_clnt_handle_event and __rpc_clnt_remove_pipedir Normal client creation goes through rpc_setup_pipedir(), which records clnt->pipefs_sb, but the mount-event path in __rpc_clnt_handle_event() calls rpc_setup_pipedir_sb() directly and never refreshes that field. The umount path also removes the directory without clearing clnt->pipefs_sb. After a late pipefs mount or any remount, rpc_clnt_remove_pipedir() compares the current superblock against a stale pipefs_sb pointer and skips cleanup, leaving pipefs dentries whose inode private data still points at a freed rpc_clnt, leading to a potential use-after-free during subsequent rpc_info_open() or rpc_show_info() calls. Fix this by properly updating clnt->pipefs_sb upon mount events and clearing it during unmount or failure paths.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-11 20:19:37.520000
Last modified
2026-10-30 13:20:20.340000
View original CVE JSON
{
  "id": "CVE-2026-89543",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-11T20:19:37.520",
  "lastModified": "2026-10-30T13:20:20.340",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsunrpc: fix use-after-free in __rpc_clnt_handle_event and __rpc_clnt_remove_pipedir\n\nNormal client creation goes through rpc_setup_pipedir(), which records\nclnt->pipefs_sb, but the mount-event path in __rpc_clnt_handle_event()\ncalls rpc_setup_pipedir_sb() directly and never refreshes that field.\nThe umount path also removes the directory without clearing\nclnt->pipefs_sb.\n\nAfter a late pipefs mount or any remount, rpc_clnt_remove_pipedir()\ncompares the current superblock against a stale pipefs_sb pointer and\nskips cleanup, leaving pipefs dentries whose inode private data still\npoints at a freed rpc_clnt, leading to a potential use-after-free during\nsubsequent rpc_info_open() or rpc_show_info() calls.\n\nFix this by properly updating clnt->pipefs_sb upon mount events and\nclearing it during unmount or failure paths."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "net/sunrpc/clnt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "7749fd2dbef72a52b5c9ffdbf877691950ed4680",
              "lessThan": "1a713814e0580f946196bca5e340b37991c6e8bf",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "cc2e7ebbeb1d0601f7f3c8d93b78fcc03a95e44a",
              "lessThan": "f99fedfd1dbffe8d20b421c9a7d4655a135d4fcd",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "bfca5fb4e97c46503ddfc582335917b0cc228264",
              "lessThan": "59527bbfb1eabdb28e95e7c725886cc2c2899cb3",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "bfca5fb4e97c46503ddfc582335917b0cc228264",
              "lessThan": "e769fcde3cc73e847b1eb3acd40c04a291cb0c0c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "bfca5fb4e97c46503ddfc582335917b0cc228264",
              "lessThan": "cdf7a233cb94774b0e7df42d9157077983f5022c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "bfca5fb4e97c46503ddfc582335917b0cc228264",
              "lessThan": "932a8cf6abb2b2f8677b79153a823108d8861fe2",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "17866066b8ac1cc38fb449670bc15dc9fee4b40a",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "7d61d1da2ed1f682c41cae0c8d4719cdaccee5c5",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "dedf2a0eb9448ae73b270743e6ea9b108189df46",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "194454afa6aa9d6ed74f0c57127bc8beb27c20df",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "1cdb52ffd6600a37bd355d8dce58ecd03e55e618",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "6.1.64",
              "lessThan": "6.1.191",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "6.6.3",
              "lessThan": "6.6.160",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "4.19.318",
              "lessThan": "4.20",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "5.4.280",
              "lessThan": "5.5",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "5.10.202",
              "lessThan": "5.11",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "5.15.140",
              "lessThan": "5.16",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "6.5.13",
              "lessThan": "6.6",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "net/sunrpc/clnt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.7",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.7",
              "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.111",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.50",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.4",
              "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/1a713814e0580f946196bca5e340b37991c6e8bf",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/59527bbfb1eabdb28e95e7c725886cc2c2899cb3",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/932a8cf6abb2b2f8677b79153a823108d8861fe2",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/cdf7a233cb94774b0e7df42d9157077983f5022c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/e769fcde3cc73e847b1eb3acd40c04a291cb0c0c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f99fedfd1dbffe8d20b421c9a7d4655a135d4fcd",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}