CVE-2021-46974 (GCVE-0-2021-46974)

Vulnerability from cvelistv5 – Published: 2024-02-27 18:47 – Updated: 2026-08-05 08:45
VLAI
Title
bpf: Fix masking negation logic upon negative dst register
Summary
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix masking negation logic upon negative dst register The negation logic for the case where the off_reg is sitting in the dst register is not correct given then we cannot just invert the add to a sub or vice versa. As a fix, perform the final bitwise and-op unconditionally into AX from the off_reg, then move the pointer from the src to dst and finally use AX as the source for the original pointer arithmetic operation such that the inversion yields a correct result. The single non-AX mov in between is possible given constant blinding is retaining it as it's not an immediate based operation.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-03-05 16:32 UTC
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: ae03b6b1c880a03d4771257336dc3bca156dd51b , < 4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba (git)
Affected: f92a819b4cbef8c9527d9797110544b2055a4b96 , < 0e2dfdc74a7f4036127356d42ea59388f153f42c (git)
Affected: 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 , < 53e0db429b37a32b8fc706d0d90eb4583ad13848 (git)
Affected: 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 , < 2cfa537674cd1051a3b8111536d77d0558f33d5d (git)
Affected: 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 , < 6eba92a4d4be8feb4dc33976abac544fa99d6ecc (git)
Affected: 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 , < 7cf64d8679ca1cb20cf57d6a88bfee79a0922a66 (git)
Affected: 979d63d50c0c0f7bc537bf821e056cc9fe5abd38 , < b9b34ddbe2076ade359cd5ce7537d5ed019e9807 (git)
Affected: 078da99d449f64ca04d459cdbdcce513b64173cd (git)
Affected: 4.14.113 , < 4.14.233 (semver)
Affected: 4.19.19 , < 4.19.190 (semver)
Affected: 4.20.6 , < 4.21 (semver)
Create a notification for this product.
Linux Linux Affected: 5.0
Unaffected: 0 , < 5.0 (semver)
Unaffected: 4.14.233 , ≤ 4.14.* (semver)
Unaffected: 4.19.190 , ≤ 4.19.* (semver)
Unaffected: 5.4.117 , ≤ 5.4.* (semver)
Unaffected: 5.10.35 , ≤ 5.10.* (semver)
Unaffected: 5.11.19 , ≤ 5.11.* (semver)
Unaffected: 5.12.2 , ≤ 5.12.* (semver)
Unaffected: 5.13 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2021-46974",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-03-05T16:32:03.243683Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-06-04T17:13:10.865Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-04T05:17:43.104Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42c"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5d"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecc"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/bpf/verifier.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba",
              "status": "affected",
              "version": "ae03b6b1c880a03d4771257336dc3bca156dd51b",
              "versionType": "git"
            },
            {
              "lessThan": "0e2dfdc74a7f4036127356d42ea59388f153f42c",
              "status": "affected",
              "version": "f92a819b4cbef8c9527d9797110544b2055a4b96",
              "versionType": "git"
            },
            {
              "lessThan": "53e0db429b37a32b8fc706d0d90eb4583ad13848",
              "status": "affected",
              "version": "979d63d50c0c0f7bc537bf821e056cc9fe5abd38",
              "versionType": "git"
            },
            {
              "lessThan": "2cfa537674cd1051a3b8111536d77d0558f33d5d",
              "status": "affected",
              "version": "979d63d50c0c0f7bc537bf821e056cc9fe5abd38",
              "versionType": "git"
            },
            {
              "lessThan": "6eba92a4d4be8feb4dc33976abac544fa99d6ecc",
              "status": "affected",
              "version": "979d63d50c0c0f7bc537bf821e056cc9fe5abd38",
              "versionType": "git"
            },
            {
              "lessThan": "7cf64d8679ca1cb20cf57d6a88bfee79a0922a66",
              "status": "affected",
              "version": "979d63d50c0c0f7bc537bf821e056cc9fe5abd38",
              "versionType": "git"
            },
            {
              "lessThan": "b9b34ddbe2076ade359cd5ce7537d5ed019e9807",
              "status": "affected",
              "version": "979d63d50c0c0f7bc537bf821e056cc9fe5abd38",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "078da99d449f64ca04d459cdbdcce513b64173cd",
              "versionType": "git"
            },
            {
              "lessThan": "4.14.233",
              "status": "affected",
              "version": "4.14.113",
              "versionType": "semver"
            },
            {
              "lessThan": "4.19.190",
              "status": "affected",
              "version": "4.19.19",
              "versionType": "semver"
            },
            {
              "lessThan": "4.21",
              "status": "affected",
              "version": "4.20.6",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/bpf/verifier.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.0"
            },
            {
              "lessThan": "5.0",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.233",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.190",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.117",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.35",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.11.*",
              "status": "unaffected",
              "version": "5.11.19",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.12.*",
              "status": "unaffected",
              "version": "5.12.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.14.233",
                  "versionStartIncluding": "4.14.113",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.190",
                  "versionStartIncluding": "4.19.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.117",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.35",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.11.19",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.12.2",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.13",
                  "versionStartIncluding": "5.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.20.6",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Fix masking negation logic upon negative dst register\n\nThe negation logic for the case where the off_reg is sitting in the\ndst register is not correct given then we cannot just invert the add\nto a sub or vice versa. As a fix, perform the final bitwise and-op\nunconditionally into AX from the off_reg, then move the pointer from\nthe src to dst and finally use AX as the source for the original\npointer arithmetic operation such that the inversion yields a correct\nresult. The single non-AX mov in between is possible given constant\nblinding is retaining it as it\u0027s not an immediate based operation."
        }
      ],
      "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 bug is reached by loading a crafted eBPF program via the bpf() syscall (socket filter / cgroup skb); it is not reachable from the network stack or remote protocols.\nAC:L - An attacker fully controls the BPF program and map layout and can reliably hit the isneg \u0026\u0026 !issrc sanitization path; no conditions beyond attacker control are required.\nPR:L - Unprivileged users can load SOCKET_FILTER/CGROUP_SKB programs when unprivileged BPF is enabled (the default when this bug was live), and only that non-bypass_spec_v1 path applies the broken rewrite.\nUI:N - Exploitation requires no victim action; the attacker loads and triggers their own BPF program.\nS:U - Impact stays within the host kernel authority (local kernel memory disclosure / crash); there is no VM, IOMMU, or other security-authority boundary crossed.\nC:H - The broken mask defeats Spectre v1 pointer-arithmetic sanitation for negative dst offsets, enabling speculative out-of-bounds loads that can disclose arbitrary kernel memory via side channels (same class as CVE-2020-27170/27171 and CVE-2021-29155).\nI:N - The failure yields speculative reads and architecturally wild pointers that typically fault rather than a controllable write primitive; Spectre-style BPF masking bugs do not provide integrity impact.\nA:H - The incorrect add/sub inversion for negative dst produces architecturally wrong pointers (e.g. offset - pointer), so subsequent verifier-approved loads/stores oops/panic the kernel."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:45:20.335Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba"
        },
        {
          "url": "https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42c"
        },
        {
          "url": "https://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848"
        },
        {
          "url": "https://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5d"
        },
        {
          "url": "https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecc"
        },
        {
          "url": "https://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66"
        },
        {
          "url": "https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807"
        }
      ],
      "title": "bpf: Fix masking negation logic upon negative dst register",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2021-46974",
    "datePublished": "2024-02-27T18:47:08.487Z",
    "dateReserved": "2024-02-27T18:42:55.944Z",
    "dateUpdated": "2026-08-05T08:45:20.335Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2021-46974",
      "date": "2026-08-12",
      "epss": "0.00247",
      "percentile": "0.16129"
    },
    "fkie_nvd": {
      "configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.14.113\", \"versionEndExcluding\": \"4.14.233\", \"matchCriteriaId\": \"BE106969-BFD9-4EE1-BE8A-85B52D1EF90B\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.19.19\", \"versionEndExcluding\": \"4.19.190\", \"matchCriteriaId\": \"9D1FC2A9-9BE0-46AD-82B7-FF0DA332A405\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.0\", \"versionEndExcluding\": \"5.4.117\", \"matchCriteriaId\": \"FD014948-DCFC-4A66-A12D-7E0BCB7957F2\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.5\", \"versionEndExcluding\": \"5.10.35\", \"matchCriteriaId\": \"4CF5C6B5-56F0-4FA4-8D35-E62F982951FD\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.11\", \"versionEndExcluding\": \"5.11.19\", \"matchCriteriaId\": \"491D6D53-3D80-40F9-8458-A0B83CCE0F64\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.12\", \"versionEndExcluding\": \"5.12.2\", \"matchCriteriaId\": \"CD9444EF-C1C3-4896-897A-2F3A4C436567\"}]}]}]",
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbpf: Fix masking negation logic upon negative dst register\\n\\nThe negation logic for the case where the off_reg is sitting in the\\ndst register is not correct given then we cannot just invert the add\\nto a sub or vice versa. As a fix, perform the final bitwise and-op\\nunconditionally into AX from the off_reg, then move the pointer from\\nthe src to dst and finally use AX as the source for the original\\npointer arithmetic operation such that the inversion yields a correct\\nresult. The single non-AX mov in between is possible given constant\\nblinding is retaining it as it\u0027s not an immediate based operation.\"}, {\"lang\": \"es\", \"value\": \"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bpf: corrige la l\\u00f3gica de negaci\\u00f3n de enmascaramiento en el registro dst negativo. La l\\u00f3gica de negaci\\u00f3n para el caso en el que off_reg se encuentra en el registro dst no es correcta, dado que entonces no podemos simplemente invertir la adici\\u00f3n a un sub o viceversa. Como soluci\\u00f3n, realice la operaci\\u00f3n final bit a bit incondicionalmente en AX desde off_reg, luego mueva el puntero de src a dst y finalmente use AX como fuente para la operaci\\u00f3n aritm\\u00e9tica del puntero original de modo que la inversi\\u00f3n produzca un resultado correcto. El \\u00fanico movimiento que no sea AX en el medio es posible dado que el cegamiento constante lo retiene, ya que no es una operaci\\u00f3n inmediata.\"}]",
      "id": "CVE-2021-46974",
      "lastModified": "2025-01-09T15:00:55.557",
      "metrics": "{\"cvssMetricV31\": [{\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\", \"baseScore\": 5.5, \"baseSeverity\": \"MEDIUM\", \"attackVector\": \"LOCAL\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"LOW\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"NONE\", \"integrityImpact\": \"NONE\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 1.8, \"impactScore\": 3.6}]}",
      "published": "2024-02-27T19:04:07.500",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42c\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5d\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecc\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42c\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5d\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecc\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Patch\"]}]",
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Analyzed",
      "weaknesses": "[{\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"NVD-CWE-noinfo\"}]}]"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2021-46974\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-02-27T19:04:07.500\",\"lastModified\":\"2026-08-04T10:16:39.310\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbpf: Fix masking negation logic upon negative dst register\\n\\nThe negation logic for the case where the off_reg is sitting in the\\ndst register is not correct given then we cannot just invert the add\\nto a sub or vice versa. As a fix, perform the final bitwise and-op\\nunconditionally into AX from the off_reg, then move the pointer from\\nthe src to dst and finally use AX as the source for the original\\npointer arithmetic operation such that the inversion yields a correct\\nresult. The single non-AX mov in between is possible given constant\\nblinding is retaining it as it\u0027s not an immediate based operation.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bpf: corrige la l\u00f3gica de negaci\u00f3n de enmascaramiento en el registro dst negativo. La l\u00f3gica de negaci\u00f3n para el caso en el que off_reg se encuentra en el registro dst no es correcta, dado que entonces no podemos simplemente invertir la adici\u00f3n a un sub o viceversa. Como soluci\u00f3n, realice la operaci\u00f3n final bit a bit incondicionalmente en AX desde off_reg, luego mueva el puntero de src a dst y finalmente use AX como fuente para la operaci\u00f3n aritm\u00e9tica del puntero original de modo que la inversi\u00f3n produzca un resultado correcto. El \u00fanico movimiento que no sea AX en el medio es posible dado que el cegamiento constante lo retiene, ya que no es una operaci\u00f3n inmediata.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"kernel/bpf/verifier.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"ae03b6b1c880a03d4771257336dc3bca156dd51b\",\"lessThan\":\"4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f92a819b4cbef8c9527d9797110544b2055a4b96\",\"lessThan\":\"0e2dfdc74a7f4036127356d42ea59388f153f42c\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"979d63d50c0c0f7bc537bf821e056cc9fe5abd38\",\"lessThan\":\"53e0db429b37a32b8fc706d0d90eb4583ad13848\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"979d63d50c0c0f7bc537bf821e056cc9fe5abd38\",\"lessThan\":\"2cfa537674cd1051a3b8111536d77d0558f33d5d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"979d63d50c0c0f7bc537bf821e056cc9fe5abd38\",\"lessThan\":\"6eba92a4d4be8feb4dc33976abac544fa99d6ecc\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"979d63d50c0c0f7bc537bf821e056cc9fe5abd38\",\"lessThan\":\"7cf64d8679ca1cb20cf57d6a88bfee79a0922a66\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"979d63d50c0c0f7bc537bf821e056cc9fe5abd38\",\"lessThan\":\"b9b34ddbe2076ade359cd5ce7537d5ed019e9807\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"078da99d449f64ca04d459cdbdcce513b64173cd\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"4.14.113\",\"lessThan\":\"4.14.233\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"4.19.19\",\"lessThan\":\"4.19.190\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"4.20.6\",\"lessThan\":\"4.21\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"kernel/bpf/verifier.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.0\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.0\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"4.14.233\",\"lessThanOrEqual\":\"4.14.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"4.19.190\",\"lessThanOrEqual\":\"4.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.117\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.35\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.11.19\",\"lessThanOrEqual\":\"5.11.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.12.2\",\"lessThanOrEqual\":\"5.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.13\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"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},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-03-05T16:32:03.243683Z\",\"id\":\"CVE-2021-46974\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.14.113\",\"versionEndExcluding\":\"4.14.233\",\"matchCriteriaId\":\"BE106969-BFD9-4EE1-BE8A-85B52D1EF90B\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.19.19\",\"versionEndExcluding\":\"4.19.190\",\"matchCriteriaId\":\"9D1FC2A9-9BE0-46AD-82B7-FF0DA332A405\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.0\",\"versionEndExcluding\":\"5.4.117\",\"matchCriteriaId\":\"FD014948-DCFC-4A66-A12D-7E0BCB7957F2\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.5\",\"versionEndExcluding\":\"5.10.35\",\"matchCriteriaId\":\"4CF5C6B5-56F0-4FA4-8D35-E62F982951FD\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.11.19\",\"matchCriteriaId\":\"491D6D53-3D80-40F9-8458-A0B83CCE0F64\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.12\",\"versionEndExcluding\":\"5.12.2\",\"matchCriteriaId\":\"CD9444EF-C1C3-4896-897A-2F3A4C436567\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42c\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5d\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecc\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T21:37:50+00:00",
      "cve": "CVE-2021-46974",
      "id": "CVE-2021-46974",
      "initial_release_date": "2021-01-01T00:00:00+00:00",
      "product_status:known_affected": "42",
      "product_status:known_not_affected": "156",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: bpf: Fix masking negation logic upon negative dst register",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2021/cve-2021-46974.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-06T02:09:11Z",
      "cve": "CVE-2021-46974",
      "id": "CVE-2021-46974",
      "initial_release_date": "2024-03-01T04:08:02Z",
      "product_status:known_affected": "388",
      "product_status:known_not_affected": "212",
      "product_status:recommended": "222",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2021-46974",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2021-46974.json",
      "version": "43"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42c\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5d\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecc\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-04T05:17:43.104Z\"}}, {\"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2021-46974\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-03-05T16:32:03.243683Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-05-23T19:01:15.410Z\"}, \"title\": \"CISA ADP Vulnrichment\"}], \"cna\": {\"title\": \"bpf: Fix masking negation logic upon negative dst register\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.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\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - The bug is reached by loading a crafted eBPF program via the bpf() syscall (socket filter / cgroup skb); it is not reachable from the network stack or remote protocols.\\nAC:L - An attacker fully controls the BPF program and map layout and can reliably hit the isneg \u0026\u0026 !issrc sanitization path; no conditions beyond attacker control are required.\\nPR:L - Unprivileged users can load SOCKET_FILTER/CGROUP_SKB programs when unprivileged BPF is enabled (the default when this bug was live), and only that non-bypass_spec_v1 path applies the broken rewrite.\\nUI:N - Exploitation requires no victim action; the attacker loads and triggers their own BPF program.\\nS:U - Impact stays within the host kernel authority (local kernel memory disclosure / crash); there is no VM, IOMMU, or other security-authority boundary crossed.\\nC:H - The broken mask defeats Spectre v1 pointer-arithmetic sanitation for negative dst offsets, enabling speculative out-of-bounds loads that can disclose arbitrary kernel memory via side channels (same class as CVE-2020-27170/27171 and CVE-2021-29155).\\nI:N - The failure yields speculative reads and architecturally wild pointers that typically fault rather than a controllable write primitive; Spectre-style BPF masking bugs do not provide integrity impact.\\nA:H - The incorrect add/sub inversion for negative dst produces architecturally wrong pointers (e.g. offset - pointer), so subsequent verifier-approved loads/stores oops/panic the kernel.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"ae03b6b1c880a03d4771257336dc3bca156dd51b\", \"lessThan\": \"4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"f92a819b4cbef8c9527d9797110544b2055a4b96\", \"lessThan\": \"0e2dfdc74a7f4036127356d42ea59388f153f42c\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"979d63d50c0c0f7bc537bf821e056cc9fe5abd38\", \"lessThan\": \"53e0db429b37a32b8fc706d0d90eb4583ad13848\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"979d63d50c0c0f7bc537bf821e056cc9fe5abd38\", \"lessThan\": \"2cfa537674cd1051a3b8111536d77d0558f33d5d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"979d63d50c0c0f7bc537bf821e056cc9fe5abd38\", \"lessThan\": \"6eba92a4d4be8feb4dc33976abac544fa99d6ecc\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"979d63d50c0c0f7bc537bf821e056cc9fe5abd38\", \"lessThan\": \"7cf64d8679ca1cb20cf57d6a88bfee79a0922a66\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"979d63d50c0c0f7bc537bf821e056cc9fe5abd38\", \"lessThan\": \"b9b34ddbe2076ade359cd5ce7537d5ed019e9807\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"078da99d449f64ca04d459cdbdcce513b64173cd\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"4.14.113\", \"lessThan\": \"4.14.233\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"4.19.19\", \"lessThan\": \"4.19.190\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"4.20.6\", \"lessThan\": \"4.21\", \"versionType\": \"semver\"}], \"programFiles\": [\"kernel/bpf/verifier.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.0\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.0\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.14.233\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.14.*\"}, {\"status\": \"unaffected\", \"version\": \"4.19.190\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.117\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.35\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.11.19\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.11.*\"}, {\"status\": \"unaffected\", \"version\": \"5.12.2\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.12.*\"}, {\"status\": \"unaffected\", \"version\": \"5.13\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"kernel/bpf/verifier.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/4d542ddb88fb2f39bf7f14caa2902f3e8d06f6ba\"}, {\"url\": \"https://git.kernel.org/stable/c/0e2dfdc74a7f4036127356d42ea59388f153f42c\"}, {\"url\": \"https://git.kernel.org/stable/c/53e0db429b37a32b8fc706d0d90eb4583ad13848\"}, {\"url\": \"https://git.kernel.org/stable/c/2cfa537674cd1051a3b8111536d77d0558f33d5d\"}, {\"url\": \"https://git.kernel.org/stable/c/6eba92a4d4be8feb4dc33976abac544fa99d6ecc\"}, {\"url\": \"https://git.kernel.org/stable/c/7cf64d8679ca1cb20cf57d6a88bfee79a0922a66\"}, {\"url\": \"https://git.kernel.org/stable/c/b9b34ddbe2076ade359cd5ce7537d5ed019e9807\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbpf: Fix masking negation logic upon negative dst register\\n\\nThe negation logic for the case where the off_reg is sitting in the\\ndst register is not correct given then we cannot just invert the add\\nto a sub or vice versa. As a fix, perform the final bitwise and-op\\nunconditionally into AX from the off_reg, then move the pointer from\\nthe src to dst and finally use AX as the source for the original\\npointer arithmetic operation such that the inversion yields a correct\\nresult. The single non-AX mov in between is possible given constant\\nblinding is retaining it as it\u0027s not an immediate based operation.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.14.233\", \"versionStartIncluding\": \"4.14.113\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.190\", \"versionStartIncluding\": \"4.19.19\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.117\", \"versionStartIncluding\": \"5.0\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.35\", \"versionStartIncluding\": \"5.0\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.11.19\", \"versionStartIncluding\": \"5.0\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.12.2\", \"versionStartIncluding\": \"5.0\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.13\", \"versionStartIncluding\": \"5.0\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"4.20.6\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T08:45:20.335Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2021-46974\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T08:45:20.335Z\", \"dateReserved\": \"2024-02-27T18:42:55.944Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-02-27T18:47:08.487Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



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…

Loading…