« Volver al listado

CVE-2022-49379

Estado: AnalizadaMedia (5.5)—

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

driver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction

Mounting NFS rootfs was timing out when deferred_probe_timeout was non-zero [1]. This was because ip_auto_config() initcall times out waiting for the network interfaces to show up when deferred_probe_timeout was non-zero. While ip_auto_config() calls wait_for_device_probe() to make sure any currently running deferred probe work or asynchronous probe finishes, that wasn't sufficient to account for devices being deferred until deferred_probe_timeout.

Commit 35a672363ab3 ("driver core: Ensure wait_for_device_probe() waits until the deferred_probe_timeout fires") tried to fix that by making sure wait_for_device_probe() waits for deferred_probe_timeout to expire before returning.

Leer descripción completaMostrar menos

However, if wait_for_device_probe() is called from the kernel_init() context:

Neither of this is good. So revert the changes to wait_for_device_probe().

[1] - https://lore.kernel.org/lkml/TYAPR01MB45443DF63B9EF29054F7C41FD8C60@TYAPR01MB4544.jpnprd01.prod.outlook.com/ [2] - https://lore.kernel.org/lkml/YowHNo4sBjr9ijZr@dev-arch.thelio-3990X/ [3] - https://lore.kernel.org/lkml/Yo3WvGnNk3LvLb7R@linutronix.de/

Detalles técnicos trazas, registros y código del informe original
- Before deferred_probe_initcall() [2], it causes the boot process to
  hang due to a deadlock.

- After deferred_probe_initcall() [3], it blocks kernel_init() from
  continuing till deferred_probe_timeout expires and beats the point of
  deferred_probe_timeout that's trying to wait for userspace to load
  modules.

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-2022-49379",
  "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": "35a672363ab3e8dfe4ebcadb4dd0b2d06bb85ebe",
              "lessThan": "71cbce75031aed26c72c2dc8a83111d181685f1b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "35a672363ab3e8dfe4ebcadb4dd0b2d06bb85ebe",
              "lessThan": "29357883a89193863f3cc6a2c5e0b42ceb022761",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "35a672363ab3e8dfe4ebcadb4dd0b2d06bb85ebe",
              "lessThan": "528229474e1cbb1b3451cb713d94aecb5f6ee264",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "35a672363ab3e8dfe4ebcadb4dd0b2d06bb85ebe",
              "lessThan": "4ad6af07efcca85369c21e4897b3020cff2c170b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "35a672363ab3e8dfe4ebcadb4dd0b2d06bb85ebe",
              "lessThan": "5ee76c256e928455212ab759c51d198fedbe7523",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/base/dd.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.7"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "5.7",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "5.10.122",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "status": "unaffected",
              "version": "5.15.47",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "5.17.15",
              "versionType": "semver",
              "lessThanOrEqual": "5.17.*"
            },
            {
              "status": "unaffected",
              "version": "5.18.4",
              "versionType": "semver",
              "lessThanOrEqual": "5.18.*"
            },
            {
              "status": "unaffected",
              "version": "5.19",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/base/dd.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2025-02-26T07:01:14.543",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/29357883a89193863f3cc6a2c5e0b42ceb022761",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4ad6af07efcca85369c21e4897b3020cff2c170b",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/528229474e1cbb1b3451cb713d94aecb5f6ee264",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/5ee76c256e928455212ab759c51d198fedbe7523",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/71cbce75031aed26c72c2dc8a83111d181685f1b",
      "tags": [
        "Patch"
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Primary",
      "source": "nvd@nist.gov",
      "description": [
        {
          "lang": "en",
          "value": "CWE-667"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndriver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction\n\nMounting NFS rootfs was timing out when deferred_probe_timeout was\nnon-zero [1].  This was because ip_auto_config() initcall times out\nwaiting for the network interfaces to show up when\ndeferred_probe_timeout was non-zero. While ip_auto_config() calls\nwait_for_device_probe() to make sure any currently running deferred\nprobe work or asynchronous probe finishes, that wasn't sufficient to\naccount for devices being deferred until deferred_probe_timeout.\n\nCommit 35a672363ab3 (\"driver core: Ensure wait_for_device_probe() waits\nuntil the deferred_probe_timeout fires\") tried to fix that by making\nsure wait_for_device_probe() waits for deferred_probe_timeout to expire\nbefore returning.\n\nHowever, if wait_for_device_probe() is called from the kernel_init()\ncontext:\n\n- Before deferred_probe_initcall() [2], it causes the boot process to\n  hang due to a deadlock.\n\n- After deferred_probe_initcall() [3], it blocks kernel_init() from\n  continuing till deferred_probe_timeout expires and beats the point of\n  deferred_probe_timeout that's trying to wait for userspace to load\n  modules.\n\nNeither of this is good. So revert the changes to\nwait_for_device_probe().\n\n[1] - https://lore.kernel.org/lkml/TYAPR01MB45443DF63B9EF29054F7C41FD8C60@TYAPR01MB4544.jpnprd01.prod.outlook.com/\n[2] - https://lore.kernel.org/lkml/YowHNo4sBjr9ijZr@dev-arch.thelio-3990X/\n[3] - https://lore.kernel.org/lkml/Yo3WvGnNk3LvLb7R@linutronix.de/"
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: núcleo del controlador: se corrige la interacción wait_for_device_probe() y deferred_probe_timeout El montaje de rootfs NFS se agotaba cuando deferred_probe_timeout no era cero [1]. Esto se debía a que la llamada de inicio ip_auto_config() agotaba el tiempo de espera a que aparecieran las interfaces de red cuando deferred_probe_timeout no era cero. Si bien ip_auto_config() llama a wait_for_device_probe() para asegurarse de que cualquier sonda diferida que se esté ejecutando actualmente funcione o la sonda asincrónica finalice, eso no era suficiente para explicar los dispositivos que se aplazaban hasta deferred_probe_timeout. El commit 35a672363ab3 (\"driver core: Ensure wait_for_device_probe() waits Until the deferred_probe_timeout fires\") intentó solucionar eso asegurándose de que wait_for_device_probe() espere a que deferred_probe_timeout expire antes de regresar. Sin embargo, si wait_for_device_probe() se llama desde el contexto kernel_init(): - Antes de deferred_probe_initcall() [2], hace que el proceso de arranque se cuelgue debido a un punto muerto. - Después de deferred_probe_initcall() [3], impide que kernel_init() continúe hasta que deferred_probe_timeout expire y supere el punto de deferred_probe_timeout que está tratando de esperar a que el espacio de usuario cargue módulos. Ninguna de estas opciones es buena. Por lo tanto, revierta los cambios a wait_for_device_probe(). [1] - https://lore.kernel.org/lkml/TYAPR01MB45443DF63B9EF29054F7C41FD8C60@TYAPR01MB4544.jpnprd01.prod.outlook.com/ [2] - https://lore.kernel.org/lkml/YowHNo4sBjr9ijZr@dev-arch.thelio-3990X/ [3] - https://lore.kernel.org/lkml/Yo3WvGnNk3LvLb7R@linutronix.de/"
    }
  ],
  "lastModified": "2026-06-17T05:17:52.830",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "BB04EE46-FCAA-4ADF-BCC7-0653EE5E5A9A",
              "versionEndExcluding": "5.10.122",
              "versionStartIncluding": "5.7.1"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "FC042EE3-4864-4325-BE0B-4BCDBF11AA61",
              "versionEndExcluding": "5.15.47",
              "versionStartIncluding": "5.11"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "53E7AA2E-2FB4-45CA-A22B-08B4EDBB51AD",
              "versionEndExcluding": "5.17.15",
              "versionStartIncluding": "5.16"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "FA6D643C-6D6A-4821-8A8D-B5776B8F0103",
              "versionEndExcluding": "5.18.4",
              "versionStartIncluding": "5.18"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:5.7:-:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "3D23CE42-BDB2-4216-8495-230ABE98FCDD"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:5.7:rc5:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "512FF86F-0B8C-4DEB-9041-8BD384DD2E58"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:5.7:rc6:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "F1AB4A11-C03C-4ABB-B596-0EB3B0F1A8DF"
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:5.7:rc7:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "9D26AE9C-D49F-4FE9-8A6A-5A7199B7436E"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}