CVE-2026-89608 (GCVE-0-2026-89608)

Vulnerability from cvelistv5 – Published: 2026-09-11 19:45 – Updated: 2026-09-14 12:01
VLAI
Title
ecryptfs: pass packet set buffer size to parser
Summary
In the Linux kernel, the following vulnerability has been resolved: ecryptfs: pass packet set buffer size to parser ecryptfs_parse_packet_set() receives a pointer into the file header, but it calculates the remaining packet buffer size from PAGE_SIZE - 8. For version 1 headers the packet set starts later in the header, so this can overstate the available buffer. Pass the actual packet set buffer length from the caller and calculate per-packet limits from the remaining bytes in that buffer. Recompute the remaining length after consuming a tag 3 packet before parsing the following tag 11 packet.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 237fead619984cc48818fe12ee0ceada3f55b012 , < e7573b0e3058c6bbdfe81673f22c09900fde9e65 (git)
Affected: 237fead619984cc48818fe12ee0ceada3f55b012 , < 66a87559ecb26afe80ad512faf728a158e2b81da (git)
Affected: 237fead619984cc48818fe12ee0ceada3f55b012 , < 3bd9bb3e167a7c14a50423f6ff03ee0fb007199d (git)
Affected: 237fead619984cc48818fe12ee0ceada3f55b012 , < 749fa08d8f1b318bd8f4669a14a8a4a8c1bbdaac (git)
Affected: 237fead619984cc48818fe12ee0ceada3f55b012 , < 329de8b9e988b152b938f09224670d97bada0b96 (git)
Affected: 237fead619984cc48818fe12ee0ceada3f55b012 , < e5d254e654f2311a3c4b9c791d7f216554bcd17a (git)
Affected: 237fead619984cc48818fe12ee0ceada3f55b012 , < 747fd45be396a6aea3420ab657a0ab4e60185b05 (git)
Affected: 237fead619984cc48818fe12ee0ceada3f55b012 , < 2602b79c5b3e2f6fce12e38a670f8e3fda4e46a2 (git)
guessed Create a notification for this product.
Linux Linux Affected: 2.6.19
Unaffected: 0 , < 2.6.19 (semver)
Unaffected: 5.10.270 , ≤ 5.10.* (semver)
Unaffected: 5.15.221 , ≤ 5.15.* (semver)
Unaffected: 6.1.188 , ≤ 6.1.* (semver)
Unaffected: 6.6.157 , ≤ 6.6.* (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": [
            "fs/ecryptfs/crypto.c",
            "fs/ecryptfs/ecryptfs_kernel.h",
            "fs/ecryptfs/keystore.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e7573b0e3058c6bbdfe81673f22c09900fde9e65",
              "status": "affected",
              "version": "237fead619984cc48818fe12ee0ceada3f55b012",
              "versionType": "git"
            },
            {
              "lessThan": "66a87559ecb26afe80ad512faf728a158e2b81da",
              "status": "affected",
              "version": "237fead619984cc48818fe12ee0ceada3f55b012",
              "versionType": "git"
            },
            {
              "lessThan": "3bd9bb3e167a7c14a50423f6ff03ee0fb007199d",
              "status": "affected",
              "version": "237fead619984cc48818fe12ee0ceada3f55b012",
              "versionType": "git"
            },
            {
              "lessThan": "749fa08d8f1b318bd8f4669a14a8a4a8c1bbdaac",
              "status": "affected",
              "version": "237fead619984cc48818fe12ee0ceada3f55b012",
              "versionType": "git"
            },
            {
              "lessThan": "329de8b9e988b152b938f09224670d97bada0b96",
              "status": "affected",
              "version": "237fead619984cc48818fe12ee0ceada3f55b012",
              "versionType": "git"
            },
            {
              "lessThan": "e5d254e654f2311a3c4b9c791d7f216554bcd17a",
              "status": "affected",
              "version": "237fead619984cc48818fe12ee0ceada3f55b012",
              "versionType": "git"
            },
            {
              "lessThan": "747fd45be396a6aea3420ab657a0ab4e60185b05",
              "status": "affected",
              "version": "237fead619984cc48818fe12ee0ceada3f55b012",
              "versionType": "git"
            },
            {
              "lessThan": "2602b79c5b3e2f6fce12e38a670f8e3fda4e46a2",
              "status": "affected",
              "version": "237fead619984cc48818fe12ee0ceada3f55b012",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/ecryptfs/crypto.c",
            "fs/ecryptfs/ecryptfs_kernel.h",
            "fs/ecryptfs/keystore.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.19"
            },
            {
              "lessThan": "2.6.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.270",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.221",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.188",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.157",
              "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": "5.10.270",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.221",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.109",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.4",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\necryptfs: pass packet set buffer size to parser\n\necryptfs_parse_packet_set() receives a pointer into the file header, but\nit calculates the remaining packet buffer size from PAGE_SIZE - 8.  For\nversion 1 headers the packet set starts later in the header, so this can\noverstate the available buffer.\n\nPass the actual packet set buffer length from the caller and calculate\nper-packet limits from the remaining bytes in that buffer.  Recompute the\nremaining length after consuming a tag 3 packet before parsing the\nfollowing tag 11 packet."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The over-read is reached only by a local open or setattr on an eCryptfs mount (ecryptfs_open/ecryptfs_setattr \u2192 ecryptfs_read_metadata \u2192 ecryptfs_parse_packet_set) which parses the attacker-supplied lower-file header or xattr; this is not a network protocol path.\nAC:L - Opening a crafted eCryptfs file deterministically feeds attacker-controlled version-1 headers and Tag 1/3/11 lengths into parse_packet_set(), which then uses an overstated PAGE_SIZE-8 bound; no race or uninfluenced memory layout is required.\nPR:L - An unprivileged user reaches this on standard eCryptfs deployments (setuid-root mount.ecryptfs_private and per-user encrypted home/Private) by planting a crafted file in their own lower directory and opening it through the already-mounted tree; init-namespace root is not required.\nUI:N - The attacker writes the malformed header into their lower directory and opens the corresponding eCryptfs file themselves; no action by another user is required.\nS:U - The out-of-bounds header-slab read and any resulting oops stay inside the host kernel eCryptfs code; this is not a VM escape, IOMMU bypass, or other cross-authority breakout.\nC:H - parse_packet_set() treats PAGE_SIZE-8 as the packet-set limit even after the version-1 header advances the pointer, and Tag 11 is parsed with the pre-Tag-3 remainder so max_packet_size can underflow; subsequent Tag 1 copies up to 512 bytes from adjacent slab/pages, an OOB read rated High unless a few bytes.\nI:N - Packet parsers memcpy into size-checked destinations (encrypted_key[], sig_tmp_space[8]); this bug is a source over-read of the PAGE_SIZE header cache object, not an out-of-bounds write, UAF, or control-flow hijack primitive.\nA:H - After the size_t remainder underflows, src[i] and later memcpy() walk off the header cache object into adjacent or unmapped pages and can oops; the attacker can reopen the crafted file to crash the host at will."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-14T12:01:28.889Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e7573b0e3058c6bbdfe81673f22c09900fde9e65"
        },
        {
          "url": "https://git.kernel.org/stable/c/66a87559ecb26afe80ad512faf728a158e2b81da"
        },
        {
          "url": "https://git.kernel.org/stable/c/3bd9bb3e167a7c14a50423f6ff03ee0fb007199d"
        },
        {
          "url": "https://git.kernel.org/stable/c/749fa08d8f1b318bd8f4669a14a8a4a8c1bbdaac"
        },
        {
          "url": "https://git.kernel.org/stable/c/329de8b9e988b152b938f09224670d97bada0b96"
        },
        {
          "url": "https://git.kernel.org/stable/c/e5d254e654f2311a3c4b9c791d7f216554bcd17a"
        },
        {
          "url": "https://git.kernel.org/stable/c/747fd45be396a6aea3420ab657a0ab4e60185b05"
        },
        {
          "url": "https://git.kernel.org/stable/c/2602b79c5b3e2f6fce12e38a670f8e3fda4e46a2"
        }
      ],
      "title": "ecryptfs: pass packet set buffer size to parser",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-89608",
    "datePublished": "2026-09-11T19:45:10.318Z",
    "dateReserved": "2026-09-11T19:38:34.733Z",
    "dateUpdated": "2026-09-14T12:01:28.889Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-89608",
      "date": "2026-09-21",
      "epss": "0.00159",
      "percentile": "0.05522"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/ecryptfs/crypto.c",
                  "fs/ecryptfs/ecryptfs_kernel.h",
                  "fs/ecryptfs/keystore.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "e7573b0e3058c6bbdfe81673f22c09900fde9e65",
                    "status": "affected",
                    "version": "237fead619984cc48818fe12ee0ceada3f55b012",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "66a87559ecb26afe80ad512faf728a158e2b81da",
                    "status": "affected",
                    "version": "237fead619984cc48818fe12ee0ceada3f55b012",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "3bd9bb3e167a7c14a50423f6ff03ee0fb007199d",
                    "status": "affected",
                    "version": "237fead619984cc48818fe12ee0ceada3f55b012",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "749fa08d8f1b318bd8f4669a14a8a4a8c1bbdaac",
                    "status": "affected",
                    "version": "237fead619984cc48818fe12ee0ceada3f55b012",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "329de8b9e988b152b938f09224670d97bada0b96",
                    "status": "affected",
                    "version": "237fead619984cc48818fe12ee0ceada3f55b012",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "e5d254e654f2311a3c4b9c791d7f216554bcd17a",
                    "status": "affected",
                    "version": "237fead619984cc48818fe12ee0ceada3f55b012",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "747fd45be396a6aea3420ab657a0ab4e60185b05",
                    "status": "affected",
                    "version": "237fead619984cc48818fe12ee0ceada3f55b012",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "2602b79c5b3e2f6fce12e38a670f8e3fda4e46a2",
                    "status": "affected",
                    "version": "237fead619984cc48818fe12ee0ceada3f55b012",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/ecryptfs/crypto.c",
                  "fs/ecryptfs/ecryptfs_kernel.h",
                  "fs/ecryptfs/keystore.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "2.6.19"
                  },
                  {
                    "lessThan": "2.6.19",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.270",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.221",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.188",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.157",
                    "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\necryptfs: pass packet set buffer size to parser\n\necryptfs_parse_packet_set() receives a pointer into the file header, but\nit calculates the remaining packet buffer size from PAGE_SIZE - 8.  For\nversion 1 headers the packet set starts later in the header, so this can\noverstate the available buffer.\n\nPass the actual packet set buffer length from the caller and calculate\nper-packet limits from the remaining bytes in that buffer.  Recompute the\nremaining length after consuming a tag 3 packet before parsing the\nfollowing tag 11 packet."
          }
        ],
        "id": "CVE-2026-89608",
        "lastModified": "2026-09-14T13:19:15.080",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.2,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-09-11T20:19:45.860",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/2602b79c5b3e2f6fce12e38a670f8e3fda4e46a2"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/329de8b9e988b152b938f09224670d97bada0b96"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/3bd9bb3e167a7c14a50423f6ff03ee0fb007199d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/66a87559ecb26afe80ad512faf728a158e2b81da"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/747fd45be396a6aea3420ab657a0ab4e60185b05"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/749fa08d8f1b318bd8f4669a14a8a4a8c1bbdaac"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/e5d254e654f2311a3c4b9c791d7f216554bcd17a"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/e7573b0e3058c6bbdfe81673f22c09900fde9e65"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-09-18T19:09:41+00:00",
      "cve": "CVE-2026-89608",
      "id": "CVE-2026-89608",
      "initial_release_date": "2026-09-11T00:00:00+00:00",
      "product_status:known_affected": "14",
      "product_status:known_not_affected": "262",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ecryptfs: pass packet set buffer size to parser",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89608.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-17T16:42:27Z",
      "cve": "CVE-2026-89608",
      "id": "CVE-2026-89608",
      "initial_release_date": "2026-09-12T16:25:11Z",
      "product_status:known_affected": "353",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-89608",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-89608.json",
      "version": "4"
    }
  }
}



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…