FKIE_CVE-2021-46966

Vulnerability from fkie_nvd - Published: 2024-02-27 19:04 - Updated: 2026-06-17 04:16
Summary
In the Linux kernel, the following vulnerability has been resolved: ACPI: custom_method: fix potential use-after-free issue In cm_write(), buf is always freed when reaching the end of the function. If the requested count is less than table.length, the allocated buffer will be freed but subsequent calls to cm_write() will still try to access it. Remove the unconditional kfree(buf) at the end of the function and set the buf to NULL in the -EINVAL error path to match the rest of function.
References
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/1d53ca5d131074c925ce38361fb0376d3bf7e394Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/62dc2440ebb552aa0d7f635e1697e077d9d21203Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/72814a94c38a33239793f7622cec6ace1e540c4bPatch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/8b04d57f30caf76649d0567551589af9a66ca9bePatch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/90575d1d9311b753cf1718f4ce9061ddda7dfd23Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/a5b26a2e362f572d87e9fd35435680e557052a17Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/b7a5baaae212a686ceb812c32fceed79c03c0234Patch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/e483bb9a991bdae29a0caa4b3a6d002c968f94aaPatch
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/f16737caf41fc06cfe6e49048becb09657074d4bPatch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/1d53ca5d131074c925ce38361fb0376d3bf7e394Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/62dc2440ebb552aa0d7f635e1697e077d9d21203Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/72814a94c38a33239793f7622cec6ace1e540c4bPatch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/8b04d57f30caf76649d0567551589af9a66ca9bePatch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/90575d1d9311b753cf1718f4ce9061ddda7dfd23Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/a5b26a2e362f572d87e9fd35435680e557052a17Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/b7a5baaae212a686ceb812c32fceed79c03c0234Patch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/e483bb9a991bdae29a0caa4b3a6d002c968f94aaPatch
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/f16737caf41fc06cfe6e49048becb09657074d4bPatch

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/acpi/custom_method.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "1d53ca5d131074c925ce38361fb0376d3bf7e394",
              "status": "affected",
              "version": "4bda2b79a9d04c8ba31681c66e95877dbb433416",
              "versionType": "git"
            },
            {
              "lessThan": "8b04d57f30caf76649d0567551589af9a66ca9be",
              "status": "affected",
              "version": "5c12dadcbef8cd55ef1f5dac799bfcbb7ea7db1d",
              "versionType": "git"
            },
            {
              "lessThan": "90575d1d9311b753cf1718f4ce9061ddda7dfd23",
              "status": "affected",
              "version": "35b88a10535edcf62d3e6b7893a8cd506ff98a24",
              "versionType": "git"
            },
            {
              "lessThan": "a5b26a2e362f572d87e9fd35435680e557052a17",
              "status": "affected",
              "version": "e4467fb6ef547aa352dc03397f9474ec84eced5b",
              "versionType": "git"
            },
            {
              "lessThan": "72814a94c38a33239793f7622cec6ace1e540c4b",
              "status": "affected",
              "version": "03d1571d9513369c17e6848476763ebbd10ec2cb",
              "versionType": "git"
            },
            {
              "lessThan": "62dc2440ebb552aa0d7f635e1697e077d9d21203",
              "status": "affected",
              "version": "03d1571d9513369c17e6848476763ebbd10ec2cb",
              "versionType": "git"
            },
            {
              "lessThan": "f16737caf41fc06cfe6e49048becb09657074d4b",
              "status": "affected",
              "version": "03d1571d9513369c17e6848476763ebbd10ec2cb",
              "versionType": "git"
            },
            {
              "lessThan": "b7a5baaae212a686ceb812c32fceed79c03c0234",
              "status": "affected",
              "version": "03d1571d9513369c17e6848476763ebbd10ec2cb",
              "versionType": "git"
            },
            {
              "lessThan": "e483bb9a991bdae29a0caa4b3a6d002c968f94aa",
              "status": "affected",
              "version": "03d1571d9513369c17e6848476763ebbd10ec2cb",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "70424999fbf1f160ade111cb9baab51776e0f9c2",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "06cd4a06eb596a888239fb8ceb6ea15677cab396",
              "versionType": "git"
            },
            {
              "lessThan": "4.4.269",
              "status": "affected",
              "version": "4.4.195",
              "versionType": "semver"
            },
            {
              "lessThan": "4.9.269",
              "status": "affected",
              "version": "4.9.195",
              "versionType": "semver"
            },
            {
              "lessThan": "4.14.233",
              "status": "affected",
              "version": "4.14.147",
              "versionType": "semver"
            },
            {
              "lessThan": "4.19.191",
              "status": "affected",
              "version": "4.19.77",
              "versionType": "semver"
            },
            {
              "lessThan": "5.3",
              "status": "affected",
              "version": "5.2.19",
              "versionType": "semver"
            },
            {
              "lessThan": "5.4",
              "status": "affected",
              "version": "5.3.4",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/acpi/custom_method.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.4"
            },
            {
              "lessThan": "5.4",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.4.*",
              "status": "unaffected",
              "version": "4.4.269",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.9.*",
              "status": "unaffected",
              "version": "4.9.269",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.233",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.191",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.118",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.36",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.11.*",
              "status": "unaffected",
              "version": "5.11.20",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.12.*",
              "status": "unaffected",
              "version": "5.12.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "matchCriteriaId": "54A3D99C-739B-406F-AF5B-ABFF201FD7EA",
              "versionEndExcluding": "4.4.269",
              "versionStartIncluding": "4.4.195",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "matchCriteriaId": "40842990-645D-419D-851F-07328ECC681E",
              "versionEndExcluding": "4.9.269",
              "versionStartIncluding": "4.9.195",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "matchCriteriaId": "06219DEF-0B7F-4D93-9878-9DC640945517",
              "versionEndExcluding": "4.14.233",
              "versionStartIncluding": "4.14.147",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "matchCriteriaId": "3E80ED24-F781-449F-8035-CBA0FB5C6691",
              "versionEndExcluding": "4.19.191",
              "versionStartIncluding": "4.19.77",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "matchCriteriaId": "45C90F78-15A8-452F-AA7D-00A762FDEFE7",
              "versionEndExcluding": "5.4.118",
              "versionStartIncluding": "5.4",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "matchCriteriaId": "003E22D0-CA29-4338-8B35-0754C740074F",
              "versionEndExcluding": "5.10.36",
              "versionStartIncluding": "5.5",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "matchCriteriaId": "EEC03413-9760-46D4-AC1D-EB084A1D4111",
              "versionEndExcluding": "5.11.20",
              "versionStartIncluding": "5.11",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "matchCriteriaId": "F9D6B2DE-7E4A-4B3B-9AEE-3A2C5F23DA32",
              "versionEndExcluding": "5.12.3",
              "versionStartIncluding": "5.12",
              "vulnerable": true
            }
          ],
          "negate": false,
          "operator": "OR"
        }
      ]
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nACPI: custom_method: fix potential use-after-free issue\n\nIn cm_write(), buf is always freed when reaching the end of the\nfunction.  If the requested count is less than table.length, the\nallocated buffer will be freed but subsequent calls to cm_write() will\nstill try to access it.\n\nRemove the unconditional kfree(buf) at the end of the function and\nset the buf to NULL in the -EINVAL error path to match the rest of\nfunction."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ACPI: custom_method: soluciona un posible problema de use-after-free En cm_write(), buf siempre se libera al llegar al final de la funci\u00f3n. Si el recuento solicitado es menor que table.length, el b\u00fafer asignado se liberar\u00e1, pero las llamadas posteriores a cm_write() seguir\u00e1n intentando acceder a \u00e9l. Elimine el kfree(buf) incondicional al final de la funci\u00f3n y establezca el buf en NULL en la ruta de error -EINVAL para que coincida con el resto de la funci\u00f3n."
    }
  ],
  "id": "CVE-2021-46966",
  "lastModified": "2026-06-17T04:16:00.870",
  "metrics": {
    "cvssMetricV31": [
      {
        "cvssData": {
          "attackComplexity": "LOW",
          "attackVector": "LOCAL",
          "availabilityImpact": "HIGH",
          "baseScore": 7.8,
          "baseSeverity": "HIGH",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "privilegesRequired": "LOW",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
          "version": "3.1"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.9,
        "source": "nvd@nist.gov",
        "type": "Primary"
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2021-46966",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "timestamp": "2024-06-28T17:00:55.492289Z",
          "version": "2.0.3"
        }
      }
    ]
  },
  "published": "2024-02-27T19:04:07.127",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/1d53ca5d131074c925ce38361fb0376d3bf7e394"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/62dc2440ebb552aa0d7f635e1697e077d9d21203"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/72814a94c38a33239793f7622cec6ace1e540c4b"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/8b04d57f30caf76649d0567551589af9a66ca9be"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/90575d1d9311b753cf1718f4ce9061ddda7dfd23"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/a5b26a2e362f572d87e9fd35435680e557052a17"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/b7a5baaae212a686ceb812c32fceed79c03c0234"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/e483bb9a991bdae29a0caa4b3a6d002c968f94aa"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/f16737caf41fc06cfe6e49048becb09657074d4b"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/1d53ca5d131074c925ce38361fb0376d3bf7e394"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/62dc2440ebb552aa0d7f635e1697e077d9d21203"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/72814a94c38a33239793f7622cec6ace1e540c4b"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/8b04d57f30caf76649d0567551589af9a66ca9be"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/90575d1d9311b753cf1718f4ce9061ddda7dfd23"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/a5b26a2e362f572d87e9fd35435680e557052a17"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/b7a5baaae212a686ceb812c32fceed79c03c0234"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/e483bb9a991bdae29a0caa4b3a6d002c968f94aa"
    },
    {
      "source": "af854a3a-2127-422b-91ae-364da2661108",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/f16737caf41fc06cfe6e49048becb09657074d4b"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "description": [
        {
          "lang": "en",
          "value": "CWE-416"
        }
      ],
      "source": "nvd@nist.gov",
      "type": "Primary"
    }
  ]
}



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…

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…