cve-2024-49850
Vulnerability from cvelistv5
Published
2024-10-21 12:18
Modified
2024-12-19 09:27
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: bpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos In case of malformed relocation record of kind BPF_CORE_TYPE_ID_LOCAL referencing a non-existing BTF type, function bpf_core_calc_relo_insn would cause a null pointer deference. Fix this by adding a proper check upper in call stack, as malformed relocation records could be passed from user space. Simplest reproducer is a program: r0 = 0 exit With a single relocation record: .insn_off = 0, /* patch first instruction */ .type_id = 100500, /* this type id does not exist */ .access_str_off = 6, /* offset of string "0" */ .kind = BPF_CORE_TYPE_ID_LOCAL, See the link for original reproducer or next commit for a test case.
Impacted products
Vendor Product Version
Linux Linux Version: 74753e1462e77349525daf9eb60ea21ed92d3a97
Version: 74753e1462e77349525daf9eb60ea21ed92d3a97
Version: 74753e1462e77349525daf9eb60ea21ed92d3a97
Version: 74753e1462e77349525daf9eb60ea21ed92d3a97
Version: 74753e1462e77349525daf9eb60ea21ed92d3a97
Create a notification for this product.
   Linux Linux Version: 5.17
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-49850",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-10-21T12:57:02.749584Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-10-21T13:04:12.027Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/bpf/btf.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "dc7ce14f00bcd50641f2110b7a32aa6552e0780f",
              "status": "affected",
              "version": "74753e1462e77349525daf9eb60ea21ed92d3a97",
              "versionType": "git"
            },
            {
              "lessThan": "2288b54b96dcb55bedebcef3572bb8821fc5e708",
              "status": "affected",
              "version": "74753e1462e77349525daf9eb60ea21ed92d3a97",
              "versionType": "git"
            },
            {
              "lessThan": "584cd3ff792e1edbea20b2a7df55897159b0be3e",
              "status": "affected",
              "version": "74753e1462e77349525daf9eb60ea21ed92d3a97",
              "versionType": "git"
            },
            {
              "lessThan": "e7e9c5b2dda29067332df2a85b0141a92b41f218",
              "status": "affected",
              "version": "74753e1462e77349525daf9eb60ea21ed92d3a97",
              "versionType": "git"
            },
            {
              "lessThan": "3d2786d65aaa954ebd3fcc033ada433e10da21c4",
              "status": "affected",
              "version": "74753e1462e77349525daf9eb60ea21ed92d3a97",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/bpf/btf.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.17"
            },
            {
              "lessThan": "5.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.113",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.54",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.10.*",
              "status": "unaffected",
              "version": "6.10.13",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.11.*",
              "status": "unaffected",
              "version": "6.11.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.12",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos\n\nIn case of malformed relocation record of kind BPF_CORE_TYPE_ID_LOCAL\nreferencing a non-existing BTF type, function bpf_core_calc_relo_insn\nwould cause a null pointer deference.\n\nFix this by adding a proper check upper in call stack, as malformed\nrelocation records could be passed from user space.\n\nSimplest reproducer is a program:\n\n    r0 = 0\n    exit\n\nWith a single relocation record:\n\n    .insn_off = 0,          /* patch first instruction */\n    .type_id = 100500,      /* this type id does not exist */\n    .access_str_off = 6,    /* offset of string \"0\" */\n    .kind = BPF_CORE_TYPE_ID_LOCAL,\n\nSee the link for original reproducer or next commit for a test case."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-12-19T09:27:31.769Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/dc7ce14f00bcd50641f2110b7a32aa6552e0780f"
        },
        {
          "url": "https://git.kernel.org/stable/c/2288b54b96dcb55bedebcef3572bb8821fc5e708"
        },
        {
          "url": "https://git.kernel.org/stable/c/584cd3ff792e1edbea20b2a7df55897159b0be3e"
        },
        {
          "url": "https://git.kernel.org/stable/c/e7e9c5b2dda29067332df2a85b0141a92b41f218"
        },
        {
          "url": "https://git.kernel.org/stable/c/3d2786d65aaa954ebd3fcc033ada433e10da21c4"
        }
      ],
      "title": "bpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-49850",
    "datePublished": "2024-10-21T12:18:44.098Z",
    "dateReserved": "2024-10-21T12:17:06.015Z",
    "dateUpdated": "2024-12-19T09:27:31.769Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-49850\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-10-21T13:15:05.797\",\"lastModified\":\"2024-10-22T16:12:14.193\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos\\n\\nIn case of malformed relocation record of kind BPF_CORE_TYPE_ID_LOCAL\\nreferencing a non-existing BTF type, function bpf_core_calc_relo_insn\\nwould cause a null pointer deference.\\n\\nFix this by adding a proper check upper in call stack, as malformed\\nrelocation records could be passed from user space.\\n\\nSimplest reproducer is a program:\\n\\n    r0 = 0\\n    exit\\n\\nWith a single relocation record:\\n\\n    .insn_off = 0,          /* patch first instruction */\\n    .type_id = 100500,      /* this type id does not exist */\\n    .access_str_off = 6,    /* offset of string \\\"0\\\" */\\n    .kind = BPF_CORE_TYPE_ID_LOCAL,\\n\\nSee the link for original reproducer or next commit for a test case.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bpf: maneja correctamente reubicaciones BPF_CORE_TYPE_ID_LOCAL malformadas En caso de un registro de reubicaci\u00f3n malformado del tipo BPF_CORE_TYPE_ID_LOCAL que haga referencia a un tipo BTF inexistente, la funci\u00f3n bpf_core_calc_relo_insn causar\u00eda una desreferencia de puntero nulo. Solucione esto agregando una verificaci\u00f3n superior adecuada en la pila de llamadas, ya que los registros de reubicaci\u00f3n malformados podr\u00edan pasarse desde el espacio de usuario. El reproductor m\u00e1s simple es un programa: r0 = 0 exit Con un solo registro de reubicaci\u00f3n: .insn_off = 0, /* parchear la primera instrucci\u00f3n */ .type_id = 100500, /* este id de tipo no existe */ .access_str_off = 6, /* desplazamiento de la cadena \\\"0\\\" */ .kind = BPF_CORE_TYPE_ID_LOCAL, Consulte el enlace para el reproductor original o la pr\u00f3xima confirmaci\u00f3n para un caso de prueba.\"}],\"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}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-476\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.17\",\"versionEndExcluding\":\"6.1.113\",\"matchCriteriaId\":\"09358D68-A717-469E-B900-8002A642E29A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.54\",\"matchCriteriaId\":\"D448821D-C085-4CAF-88FA-2DDE7BE21976\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.10.13\",\"matchCriteriaId\":\"CE94BB8D-B0AB-4563-9ED7-A12122B56EBE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.11\",\"versionEndExcluding\":\"6.11.2\",\"matchCriteriaId\":\"AB755D26-97F4-43B6-8604-CD076811E181\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2288b54b96dcb55bedebcef3572bb8821fc5e708\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/3d2786d65aaa954ebd3fcc033ada433e10da21c4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/584cd3ff792e1edbea20b2a7df55897159b0be3e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/dc7ce14f00bcd50641f2110b7a32aa6552e0780f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e7e9c5b2dda29067332df2a85b0141a92b41f218\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-49850\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-10-21T12:57:02.749584Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-10-21T12:57:05.954Z\"}}], \"cna\": {\"title\": \"bpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"74753e1462e77349525daf9eb60ea21ed92d3a97\", \"lessThan\": \"dc7ce14f00bcd50641f2110b7a32aa6552e0780f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"74753e1462e77349525daf9eb60ea21ed92d3a97\", \"lessThan\": \"2288b54b96dcb55bedebcef3572bb8821fc5e708\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"74753e1462e77349525daf9eb60ea21ed92d3a97\", \"lessThan\": \"584cd3ff792e1edbea20b2a7df55897159b0be3e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"74753e1462e77349525daf9eb60ea21ed92d3a97\", \"lessThan\": \"e7e9c5b2dda29067332df2a85b0141a92b41f218\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"74753e1462e77349525daf9eb60ea21ed92d3a97\", \"lessThan\": \"3d2786d65aaa954ebd3fcc033ada433e10da21c4\", \"versionType\": \"git\"}], \"programFiles\": [\"kernel/bpf/btf.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.17\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.17\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.1.113\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.54\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10.13\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.10.*\"}, {\"status\": \"unaffected\", \"version\": \"6.11.2\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.11.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"kernel/bpf/btf.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/dc7ce14f00bcd50641f2110b7a32aa6552e0780f\"}, {\"url\": \"https://git.kernel.org/stable/c/2288b54b96dcb55bedebcef3572bb8821fc5e708\"}, {\"url\": \"https://git.kernel.org/stable/c/584cd3ff792e1edbea20b2a7df55897159b0be3e\"}, {\"url\": \"https://git.kernel.org/stable/c/e7e9c5b2dda29067332df2a85b0141a92b41f218\"}, {\"url\": \"https://git.kernel.org/stable/c/3d2786d65aaa954ebd3fcc033ada433e10da21c4\"}], \"x_generator\": {\"engine\": \"bippy-5f407fcff5a0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos\\n\\nIn case of malformed relocation record of kind BPF_CORE_TYPE_ID_LOCAL\\nreferencing a non-existing BTF type, function bpf_core_calc_relo_insn\\nwould cause a null pointer deference.\\n\\nFix this by adding a proper check upper in call stack, as malformed\\nrelocation records could be passed from user space.\\n\\nSimplest reproducer is a program:\\n\\n    r0 = 0\\n    exit\\n\\nWith a single relocation record:\\n\\n    .insn_off = 0,          /* patch first instruction */\\n    .type_id = 100500,      /* this type id does not exist */\\n    .access_str_off = 6,    /* offset of string \\\"0\\\" */\\n    .kind = BPF_CORE_TYPE_ID_LOCAL,\\n\\nSee the link for original reproducer or next commit for a test case.\"}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2024-12-19T09:27:31.769Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-49850\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2024-12-19T09:27:31.769Z\", \"dateReserved\": \"2024-10-21T12:17:06.015Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-10-21T12:18:44.098Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}


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.
  • 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.