← Back to CVE Explorer

CVE-2025-71306

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: ima: Fix stack-out-of-bounds in is_bprm_creds_for_exec() KASAN reported a stack-out-of-bounds access in ima_appraise_measurement from is_bprm_creds_for_exec: BUG: KASAN: stack-out-of-bounds in ima_appraise_measurement+0x12dc/0x16a0 Read of size 1 at addr ffffc9000160f940 by task sudo/550 The buggy address belongs to stack of task sudo/550 and is located at offset 24 in frame: ima_appraise_measurement+0x0/0x16a0 This frame has 2 objects: [48, 56) 'file' [80, 148) 'hash' This is caused by using container_of on the *file pointer. This offset calculation is what triggers the stack-out-of-bounds error. In order to fix this, pass in a bprm_is_check boolean which can be set depending on how process_measurement is called. If the caller has a linux_binprm pointer and the function is BPRM_CHECK we can determine is_check and set it then. Otherwise set it to false.

Severity
HIGH
CVSS score
7.1 (v3.1)
Vulnerability status
Modified
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-05-27 14:16:43.167000
Last modified
2026-10-21 13:18:26.440000
View original CVE JSON
{
  "id": "CVE-2025-71306",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-05-27T14:16:43.167",
  "lastModified": "2026-10-21T13:18:26.440",
  "vulnStatus": "Modified",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nima: Fix stack-out-of-bounds in is_bprm_creds_for_exec()\n\nKASAN reported a stack-out-of-bounds access in ima_appraise_measurement\nfrom is_bprm_creds_for_exec:\n\nBUG: KASAN: stack-out-of-bounds in ima_appraise_measurement+0x12dc/0x16a0\n Read of size 1 at addr ffffc9000160f940 by task sudo/550\nThe buggy address belongs to stack of task sudo/550\nand is located at offset 24 in frame:\n  ima_appraise_measurement+0x0/0x16a0\nThis frame has 2 objects:\n  [48, 56) 'file'\n  [80, 148) 'hash'\n\nThis is caused by using container_of on the *file pointer. This offset\ncalculation is what triggers the stack-out-of-bounds error.\n\nIn order to fix this, pass in a bprm_is_check boolean which can be set\ndepending on how process_measurement is called. If the caller has a\nlinux_binprm pointer and the function is BPRM_CHECK we can determine\nis_check and set it then. Otherwise set it to false."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nima: Corrección de acceso fuera de límites de la pila en is_bprm_creds_for_exec()\n\nKASAN informó un acceso fuera de límites de la pila en ima_appraise_measurement desde is_bprm_creds_for_exec:\n\nERROR: KASAN: acceso fuera de límites de la pila en ima_appraise_measurement+0x12dc/0x16a0\n Lectura de tamaño 1 en la dirección ffffc9000160f940 por la tarea sudo/550\nLa dirección defectuosa pertenece a la pila de la tarea sudo/550\ny está ubicada en el desplazamiento 24 en el marco:\n  ima_appraise_measurement+0x0/0x16a0\nEste marco tiene 2 objetos:\n  [48, 56) 'file'\n  [80, 148) 'hash'\n\nEsto es causado por usar container_of en el puntero file. Este cálculo de desplazamiento es lo que desencadena el error de acceso fuera de límites de la pila.\n\nPara solucionar esto, pasar un booleano bprm_is_check que puede ser establecido dependiendo de cómo se llama a process_measurement. Si el llamador tiene un puntero linux_binprm y la función es BPRM_CHECK, podemos determinar is_check y establecerlo entonces. De lo contrario, establecerlo en falso."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "security/integrity/ima/ima.h",
            "security/integrity/ima/ima_appraise.c",
            "security/integrity/ima/ima_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "95b3cdafd7cb74414070893445a9b731793f7b55",
              "lessThan": "0f39d936a34933ebfbdc13a04f0aba814d3b9709",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "95b3cdafd7cb74414070893445a9b731793f7b55",
              "lessThan": "ab3d16da982a4ebb715d487dbf9dd66e3990d935",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "95b3cdafd7cb74414070893445a9b731793f7b55",
              "lessThan": "377cae9851e8559e9d8b82a78c1ac0abeb18839c",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "security/integrity/ima/ima.h",
            "security/integrity/ima/ima_appraise.c",
            "security/integrity/ima/ima_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.14",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.14",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.58",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.19.4",
              "lessThanOrEqual": "6.19.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.0",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Primary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
          "baseScore": 7.1,
          "baseSeverity": "HIGH",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "NONE",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.2
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Primary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-125"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "6.14",
              "versionEndExcluding": "6.19.4",
              "matchCriteriaId": "31092616-0795-4C71-9777-22D46B94263F"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/0f39d936a34933ebfbdc13a04f0aba814d3b9709",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/377cae9851e8559e9d8b82a78c1ac0abeb18839c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://git.kernel.org/stable/c/ab3d16da982a4ebb715d487dbf9dd66e3990d935",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ]
    }
  ]
}