{ "id": "CVE-2024-42072", "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "published": "2024-07-29T16:15:06.693", "lastModified": "2024-11-21T09:33:32.037", "vulnStatus": "Modified", "cveTags": [], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Fix may_goto with negative offset.\n\nZac's syzbot crafted a bpf prog that exposed two bugs in may_goto.\nThe 1st bug is the way may_goto is patched. When offset is negative\nit should be patched differently.\nThe 2nd bug is in the verifier:\nwhen current state may_goto_depth is equal to visited state may_goto_depth\nit means there is an actual infinite loop. It's not correct to prune\nexploration of the program at this point.\nNote, that this check doesn't limit the program to only one may_goto insn,\nsince 2nd and any further may_goto will increment may_goto_depth only\nin the queued state pushed for future exploration. The current state\nwill have may_goto_depth == 0 regardless of number of may_goto insns\nand the verifier has to explore the program until bpf_exit." }, { "lang": "es", "value": " En el kernel de Linux se ha resuelto la siguiente vulnerabilidad: bpf: corrige may_goto con desplazamiento negativo. El syzbot de Zac cre\u00f3 un programa bpf que expuso dos errores en may_goto. El primer error es la forma en que se parchea may_goto. Cuando el desplazamiento es negativo, se debe parchear de manera diferente. El segundo error est\u00e1 en el verificador: cuando el estado actual may_goto_ Depth es igual al estado visitado may_goto_ Depth, significa que hay un bucle infinito real. No es correcto podar la exploraci\u00f3n del programa en este momento. Tenga en cuenta que esta verificaci\u00f3n no limita el programa a solo un may_goto insn, ya que el segundo may_goto y cualquier otro may_goto incrementar\u00e1 may_goto_profundidad solo en el estado en cola enviado para exploraci\u00f3n futura. El estado actual tendr\u00e1 may_goto_ Depth == 0 independientemente del n\u00famero de may_goto insns y el verificador tiene que explorar el programa hasta bpf_exit." } ], "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:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH" }, "exploitabilityScore": 1.8, "impactScore": 5.9 } ] }, "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:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.9", "matchCriteriaId": "18FE1EAE-C36C-49FC-A5E0-0A661CDC561E" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.9.1", "versionEndExcluding": "6.9.8", "matchCriteriaId": "1557DCF8-46D3-4910-8B19-5C77412AB681" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/175827e04f4be53f3dfb57edf12d0d49b18fd939", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": [ "Patch" ] }, { "url": "https://git.kernel.org/stable/c/2b2efe1937ca9f8815884bd4dcd5b32733025103", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": [ "Patch" ] }, { "url": "https://git.kernel.org/stable/c/175827e04f4be53f3dfb57edf12d0d49b18fd939", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Patch" ] }, { "url": "https://git.kernel.org/stable/c/2b2efe1937ca9f8815884bd4dcd5b32733025103", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Patch" ] } ] }