CVE-2026-72155 (GCVE-0-2026-72155)
Vulnerability from cvelistv5
Published
2026-08-15 05:53
Modified
2026-08-23 12:46
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: mtd: spi-nor: swp: Improve locking user experience In the case of the first block being locked (or the few first blocks), if the user want to fully unlock the device it has two possibilities: - either it asks to unlock the entire device, and this works; - or it asks to unlock just the block(s) that are currently locked, which fails. It fails because the conditions "can_be_top" and "can_be_bottom" are true. Indeed, in this case, we unlock everything, so the TB bit does not matter. However in the current implementation, use_top would be true (as this is the favourite option) and lock_len, which in practice should be reduced down to 0, is set to "nor->params->size - (ofs + len)" which is a positive number. This is wrong. An easy way is to simply add an extra condition. In the unlock() path, if we can achieve the same result from both sides, it means we unlock everything and lock_len must simply be 0. A comment is added to clarify that logic.
Impacted products
Vendor Product Version
Linux Linux Version: 3dd8012a8eeb3702fa17450ec1a16a3f38af138d
Version: 3dd8012a8eeb3702fa17450ec1a16a3f38af138d
Version: 3dd8012a8eeb3702fa17450ec1a16a3f38af138d
Version: 3dd8012a8eeb3702fa17450ec1a16a3f38af138d
Version: 3dd8012a8eeb3702fa17450ec1a16a3f38af138d
Version: 3dd8012a8eeb3702fa17450ec1a16a3f38af138d
Version: 3dd8012a8eeb3702fa17450ec1a16a3f38af138d
Version: 3dd8012a8eeb3702fa17450ec1a16a3f38af138d
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/mtd/spi-nor/swp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "23c285be8f6fcde9088fe12bb69c701d46696be1",
              "status": "affected",
              "version": "3dd8012a8eeb3702fa17450ec1a16a3f38af138d",
              "versionType": "git"
            },
            {
              "lessThan": "a6fd2145c73b80bb6a5eed7355a4f63597d712d9",
              "status": "affected",
              "version": "3dd8012a8eeb3702fa17450ec1a16a3f38af138d",
              "versionType": "git"
            },
            {
              "lessThan": "9a0d8dec3d11ca95d67537ea8fa6ee2730a5038a",
              "status": "affected",
              "version": "3dd8012a8eeb3702fa17450ec1a16a3f38af138d",
              "versionType": "git"
            },
            {
              "lessThan": "dc341272cf8e15a2c511db3c4df5dab8adf70ad0",
              "status": "affected",
              "version": "3dd8012a8eeb3702fa17450ec1a16a3f38af138d",
              "versionType": "git"
            },
            {
              "lessThan": "6110ab5ffd84e8daa654652446a03ce2f77580a7",
              "status": "affected",
              "version": "3dd8012a8eeb3702fa17450ec1a16a3f38af138d",
              "versionType": "git"
            },
            {
              "lessThan": "c0806df5cf806545160f3fdac3c888926ceac557",
              "status": "affected",
              "version": "3dd8012a8eeb3702fa17450ec1a16a3f38af138d",
              "versionType": "git"
            },
            {
              "lessThan": "12d4d69221159e6d0e72400ec81195d691169b53",
              "status": "affected",
              "version": "3dd8012a8eeb3702fa17450ec1a16a3f38af138d",
              "versionType": "git"
            },
            {
              "lessThan": "e1d456b26bf23e30db305a6184e8abd9ab68bbf2",
              "status": "affected",
              "version": "3dd8012a8eeb3702fa17450ec1a16a3f38af138d",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/mtd/spi-nor/swp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.6"
            },
            {
              "lessThan": "4.6",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.266",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.217",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.178",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.266",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.217",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.178",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.145",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.97",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "4.6",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmtd: spi-nor: swp: Improve locking user experience\n\nIn the case of the first block being locked (or the few first blocks),\nif the user want to fully unlock the device it has two possibilities:\n- either it asks to unlock the entire device, and this works;\n- or it asks to unlock just the block(s) that are currently locked,\n  which fails.\n\nIt fails because the conditions \"can_be_top\" and \"can_be_bottom\" are\ntrue. Indeed, in this case, we unlock everything, so the TB bit does not\nmatter. However in the current implementation, use_top would be true (as\nthis is the favourite option) and lock_len, which in practice should be\nreduced down to 0, is set to \"nor-\u003eparams-\u003esize - (ofs + len)\" which is\na positive number. This is wrong.\n\nAn easy way is to simply add an extra condition. In the unlock() path,\nif we can achieve the same result from both sides, it means we unlock\neverything and lock_len must simply be 0. A comment is added to clarify\nthat logic."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-23T12:46:54.916Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/23c285be8f6fcde9088fe12bb69c701d46696be1"
        },
        {
          "url": "https://git.kernel.org/stable/c/a6fd2145c73b80bb6a5eed7355a4f63597d712d9"
        },
        {
          "url": "https://git.kernel.org/stable/c/9a0d8dec3d11ca95d67537ea8fa6ee2730a5038a"
        },
        {
          "url": "https://git.kernel.org/stable/c/dc341272cf8e15a2c511db3c4df5dab8adf70ad0"
        },
        {
          "url": "https://git.kernel.org/stable/c/6110ab5ffd84e8daa654652446a03ce2f77580a7"
        },
        {
          "url": "https://git.kernel.org/stable/c/c0806df5cf806545160f3fdac3c888926ceac557"
        },
        {
          "url": "https://git.kernel.org/stable/c/12d4d69221159e6d0e72400ec81195d691169b53"
        },
        {
          "url": "https://git.kernel.org/stable/c/e1d456b26bf23e30db305a6184e8abd9ab68bbf2"
        }
      ],
      "title": "mtd: spi-nor: swp: Improve locking user experience",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72155",
    "datePublished": "2026-08-15T05:53:25.236Z",
    "dateReserved": "2026-08-09T03:40:39.909Z",
    "dateUpdated": "2026-08-23T12:46:54.916Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…