{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2024-26621",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2024-26621"
  ],
  "published": "2024-03-02T21:33:08Z",
  "summary": "mm: huge_memory: don't force huge page alignment on 32 bit",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm: huge_memory: don't force huge page alignment on 32 bit\n\ncommit efa7df3e3bb5 (\"mm: align larger anonymous mappings on THP\nboundaries\") caused two issues [1] [2] reported on 32 bit system or compat\nuserspace.\n\nIt doesn't make too much sense to force huge page alignment on 32 bit\nsystem due to the constrained virtual address space.\n\n[1] https://lore.kernel.org/linux-mm/d0a136a0-4a31-46bc-adf4-2db109a61672@kernel.org/\n[2] https://lore.kernel.org/linux-mm/CAJuCfpHXLdQy1a2B6xN2d7quTYwg2OoZseYPZTRpU0eHHKD-sQ@mail.gmail.com/",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.81",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2024-26621"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/87632bc9ecff5ded93433bc0fca428019bdd1cfe"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/6ea9aa8d97e6563676094cb35755884173269555"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/7432376c913381c5f24d373a87ff629bbde94b47"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/4ef9ad19e17676b9ef071309bc62020e2373705d"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-05T11:52:36Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 8.2,
      "cvss_v3_severity": "High",
      "scenario": "AV:N - The flaw's effect \u2014 a fully predictable memory layout for every process, including internet-facing daemons such as sshd on 32-bit/compat systems \u2014 is usable by an entirely remote, unauthenticated attacker who never needs any access to the host; this is the exact condition Qualys leveraged for regreSSHion, and the CVE's own reference set is the oss-security thread on that remote impact.\nAC:L - On 32-bit and compat processes the outcome is fully deterministic, not probabilistic \u2014 libc lands at a fixed address (e.g. 0xf7c00000) on every single run, so nothing about exploitation depends on conditions outside the attacker's control.\nPR:N - No credentials, account, or local foothold is required; the library and heap base addresses are constants that can be computed offline from the same distro or firmware image, and they are identical for privileged root daemons and unprivileged processes alike.\nUI:N - The kernel applies the 2 MB alignment unconditionally on every mmap of a \u22652 MB file or anonymous mapping; no victim action is needed for the layout to become predictable.\nS:U - The kernel is the security authority governing process address-space layout, and the lost randomization affects resources it already manages; no sandbox, VM, or IOMMU boundary is crossed.\nC:H - This is a complete, permanent disclosure of the exact secret ASLR exists to protect \u2014 on 32-bit all 8 bits of mmap entropy are annihilated, exposing the full mapping layout of every process on the system rather than a bounded few-byte leak.\nI:N - Defeating address randomization does not by itself write to or modify any kernel or userspace data; integrity compromise only arises when a separate memory-corruption bug is chained in.\nA:L - The len+PMD_SIZE padding and inter-VMA alignment holes exhaust the constrained 32-bit virtual address space, producing documented mmap2() ENOMEM failures and consequent userspace tool crashes (pahole), plus max_map_count exhaustion \u2014 degradation rather than a kernel panic or hang."
    }
  }
}
