« Volver al listado

CVE-2024-53212

Estado: AnalizadaMedia (5.5)—

In the Linux kernel, the following vulnerability has been resolved:

netlink: fix false positive warning in extack during dumps

Commit under fixes extended extack reporting to dumps. It works under normal conditions, because extack errors are usually reported during ->start() or the first ->dump(), it's quite rare that the dump starts okay but fails later. If the dump does fail later, however, the input skb will already have the initiating message pulled, so checking if bad attr falls within skb->data will fail.

Switch the check to using nlh, which is always valid.

syzbot found a way to hit that scenario by filling up the receive queue. In this case we initiate a dump but don't call ->dump() until there is read space for an skb.

Detalles técnicos trazas, registros y código del informe original
WARNING: CPU: 1 PID: 5845 at net/netlink/af_netlink.c:2210 netlink_ack_tlv_fill+0x1a8/0x560 net/netlink/af_netlink.c:2209
RIP: 0010:netlink_ack_tlv_fill+0x1a8/0x560 net/netlink/af_netlink.c:2209
Call Trace:
 <TASK>
 netlink_dump_done+0x513/0x970 net/netlink/af_netlink.c:2250
 netlink_dump+0x91f/0xe10 net/netlink/af_netlink.c:2351
 netlink_recvmsg+0x6bb/0x11d0 net/netlink/af_netlink.c:1983
 sock_recvmsg_nosec net/socket.c:1051 [inline]
 sock_recvmsg+0x22f/0x280 net/socket.c:1073
 __sys_recvfrom+0x246/0x3d0 net/socket.c:2267
 __do_sys_recvfrom net/socket.c:2285 [inline]
 __se_sys_recvfrom net/socket.c:2281 [inline]
 __x64_sys_recvfrom+0xde/0x100 net/socket.c:2281
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
 RIP: 0033:0x7ff37dd17a79

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2024-53212",
  "cveTags": [],
  "metrics": {
    "cvssMetricV31": [
      {
        "type": "Primary",
        "source": "nvd@nist.gov",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.5,
          "attackVector": "LOCAL",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "LOW",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 1.8
      }
    ]
  },
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "8af4f60472fce1f22db5068107b37bcc1a65eabd",
              "lessThan": "6406d0ce0414b807af5d2a4b781c3f3ee52b8a4d",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "8af4f60472fce1f22db5068107b37bcc1a65eabd",
              "lessThan": "28af028a71371df5fcbf807fd4444bba8d0c33cc",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "8af4f60472fce1f22db5068107b37bcc1a65eabd",
              "lessThan": "3bf39fa849ab8ed52abb6715922e6102d3df9f97",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "net/netlink/af_netlink.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.10"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.10",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.11.11",
              "versionType": "semver",
              "lessThanOrEqual": "6.11.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.2",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.13",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "net/netlink/af_netlink.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2024-12-27T14:15:29.130",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/28af028a71371df5fcbf807fd4444bba8d0c33cc",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/3bf39fa849ab8ed52abb6715922e6102d3df9f97",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6406d0ce0414b807af5d2a4b781c3f3ee52b8a4d",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Primary",
      "source": "nvd@nist.gov",
      "description": [
        {
          "lang": "en",
          "value": "NVD-CWE-noinfo"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetlink: fix false positive warning in extack during dumps\n\nCommit under fixes extended extack reporting to dumps.\nIt works under normal conditions, because extack errors are\nusually reported during ->start() or the first ->dump(),\nit's quite rare that the dump starts okay but fails later.\nIf the dump does fail later, however, the input skb will\nalready have the initiating message pulled, so checking\nif bad attr falls within skb->data will fail.\n\nSwitch the check to using nlh, which is always valid.\n\nsyzbot found a way to hit that scenario by filling up\nthe receive queue. In this case we initiate a dump\nbut don't call ->dump() until there is read space for\nan skb.\n\nWARNING: CPU: 1 PID: 5845 at net/netlink/af_netlink.c:2210 netlink_ack_tlv_fill+0x1a8/0x560 net/netlink/af_netlink.c:2209\nRIP: 0010:netlink_ack_tlv_fill+0x1a8/0x560 net/netlink/af_netlink.c:2209\nCall Trace:\n <TASK>\n netlink_dump_done+0x513/0x970 net/netlink/af_netlink.c:2250\n netlink_dump+0x91f/0xe10 net/netlink/af_netlink.c:2351\n netlink_recvmsg+0x6bb/0x11d0 net/netlink/af_netlink.c:1983\n sock_recvmsg_nosec net/socket.c:1051 [inline]\n sock_recvmsg+0x22f/0x280 net/socket.c:1073\n __sys_recvfrom+0x246/0x3d0 net/socket.c:2267\n __do_sys_recvfrom net/socket.c:2285 [inline]\n __se_sys_recvfrom net/socket.c:2281 [inline]\n __x64_sys_recvfrom+0xde/0x100 net/socket.c:2281\n do_syscall_x64 arch/x86/entry/common.c:52 [inline]\n do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83\n entry_SYSCALL_64_after_hwframe+0x77/0x7f\n RIP: 0033:0x7ff37dd17a79"
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: netlink: corrige la advertencia de falso positivo en extack durante los volcados Commit bajo corrige el informe extendido de extack a los volcados. Funciona en condiciones normales, porque los errores de extack generalmente se informan durante -&gt;start() o el primer -&gt;dump(), es bastante raro que el volcado comience bien pero falle más tarde. Sin embargo, si el volcado falla más tarde, el skb de entrada ya tendrá el mensaje de inicio extraído, por lo que la verificación de si el atributo incorrecto cae dentro de skb-&gt;data fallará. Cambie la verificación para usar nlh, que siempre es válido. syzbot encontró una forma de abordar ese escenario llenando la cola de recepción. En este caso, iniciamos un volcado pero no llamamos a -&gt;dump() hasta que haya espacio de lectura para un skb. ADVERTENCIA: CPU: 1 PID: 5845 en net/netlink/af_netlink.c:2210 netlink_ack_tlv_fill+0x1a8/0x560 net/netlink/af_netlink.c:2209 RIP: 0010:netlink_ack_tlv_fill+0x1a8/0x560 net/netlink/af_netlink.c:2209 Seguimiento de llamadas:  netlink_dump_done+0x513/0x970 net/netlink/af_netlink.c:2250 netlink_dump+0x91f/0xe10 net/netlink/af_netlink.c:2351 netlink_recvmsg+0x6bb/0x11d0 net/netlink/af_netlink.c:1983 sock_recvmsg_nosec net/socket.c:1051 [en línea] sock_recvmsg+0x22f/0x280 net/socket.c:1073 __sys_recvfrom+0x246/0x3d0 net/socket.c:2267 __do_sys_recvfrom net/socket.c:2285 [en línea] __se_sys_recvfrom net/socket.c:2281 [en línea] __x64_sys_recvfrom+0xde/0x100 net/socket.c:2281 do_syscall_x64 arch/x86/entry/common.c:52 [en línea] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entrada_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7ff37dd17a79"
    }
  ],
  "lastModified": "2026-06-17T08:08:36.290",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "158A6B22-9260-41D7-965A-A81798A5A969",
              "versionEndExcluding": "6.11.11",
              "versionStartIncluding": "6.10"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "D8882B1B-2ABC-4838-AC1D-DBDBB5764776",
              "versionEndExcluding": "6.12.2",
              "versionStartIncluding": "6.12"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}