cve-2024-26999
Vulnerability from cvelistv5
Published
2024-05-01 05:28
Modified
2024-12-19 08:52
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: serial/pmac_zilog: Remove flawed mitigation for rx irq flood The mitigation was intended to stop the irq completely. That may be better than a hard lock-up but it turns out that you get a crash anyway if you're using pmac_zilog as a serial console: ttyPZ0: pmz: rx irq flood ! BUG: spinlock recursion on CPU#0, swapper/0 That's because the pr_err() call in pmz_receive_chars() results in pmz_console_write() attempting to lock a spinlock already locked in pmz_interrupt(). With CONFIG_DEBUG_SPINLOCK=y, this produces a fatal BUG splat. The spinlock in question is the one in struct uart_port. Even when it's not fatal, the serial port rx function ceases to work. Also, the iteration limit doesn't play nicely with QEMU, as can be seen in the bug report linked below. A web search for other reports of the error message "pmz: rx irq flood" didn't produce anything. So I don't think this code is needed any more. Remove it.
References
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/1be3226445362bfbf461c92a5bcdb1723f2e4907
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/52aaf1ff14622a04148dbb9ccce6d9de5d534ea7
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/69a02273e288011b521ee7c1f3ab2c23fda633ce
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/7a3bbe41efa55323b6ea3c35fa15941d4dbecdef
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/ab86cf6f8d24e63e9aca23da5108af1aa5483928
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/bbaafbb4651fede8d3c3881601ecaa4f834f9d3f
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/ca09dfc3cfdf89e6af3ac24e1c6c0be5c575a729
416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/d679c816929d62af51c8e6d7fc0e165c9412d2f3
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/1be3226445362bfbf461c92a5bcdb1723f2e4907
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/52aaf1ff14622a04148dbb9ccce6d9de5d534ea7
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/69a02273e288011b521ee7c1f3ab2c23fda633ce
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/7a3bbe41efa55323b6ea3c35fa15941d4dbecdef
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/ab86cf6f8d24e63e9aca23da5108af1aa5483928
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/bbaafbb4651fede8d3c3881601ecaa4f834f9d3f
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/ca09dfc3cfdf89e6af3ac24e1c6c0be5c575a729
af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/d679c816929d62af51c8e6d7fc0e165c9412d2f3
af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html
Impacted products
Vendor Product Version
Linux Linux Version: 2.6.12
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T00:21:05.871Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/69a02273e288011b521ee7c1f3ab2c23fda633ce"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/d679c816929d62af51c8e6d7fc0e165c9412d2f3"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/ab86cf6f8d24e63e9aca23da5108af1aa5483928"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/7a3bbe41efa55323b6ea3c35fa15941d4dbecdef"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/bbaafbb4651fede8d3c3881601ecaa4f834f9d3f"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/52aaf1ff14622a04148dbb9ccce6d9de5d534ea7"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/ca09dfc3cfdf89e6af3ac24e1c6c0be5c575a729"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/1be3226445362bfbf461c92a5bcdb1723f2e4907"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-26999",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:44:49.996253Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:33:39.040Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/tty/serial/pmac_zilog.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "69a02273e288011b521ee7c1f3ab2c23fda633ce",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "d679c816929d62af51c8e6d7fc0e165c9412d2f3",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "ab86cf6f8d24e63e9aca23da5108af1aa5483928",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "7a3bbe41efa55323b6ea3c35fa15941d4dbecdef",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "bbaafbb4651fede8d3c3881601ecaa4f834f9d3f",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "52aaf1ff14622a04148dbb9ccce6d9de5d534ea7",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "ca09dfc3cfdf89e6af3ac24e1c6c0be5c575a729",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "1be3226445362bfbf461c92a5bcdb1723f2e4907",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/tty/serial/pmac_zilog.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.12"
            },
            {
              "lessThan": "2.6.12",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.313",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.275",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.216",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.157",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.88",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.29",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.8.*",
              "status": "unaffected",
              "version": "6.8.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.9",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nserial/pmac_zilog: Remove flawed mitigation for rx irq flood\n\nThe mitigation was intended to stop the irq completely. That may be\nbetter than a hard lock-up but it turns out that you get a crash anyway\nif you\u0027re using pmac_zilog as a serial console:\n\nttyPZ0: pmz: rx irq flood !\nBUG: spinlock recursion on CPU#0, swapper/0\n\nThat\u0027s because the pr_err() call in pmz_receive_chars() results in\npmz_console_write() attempting to lock a spinlock already locked in\npmz_interrupt(). With CONFIG_DEBUG_SPINLOCK=y, this produces a fatal\nBUG splat. The spinlock in question is the one in struct uart_port.\n\nEven when it\u0027s not fatal, the serial port rx function ceases to work.\nAlso, the iteration limit doesn\u0027t play nicely with QEMU, as can be\nseen in the bug report linked below.\n\nA web search for other reports of the error message \"pmz: rx irq flood\"\ndidn\u0027t produce anything. So I don\u0027t think this code is needed any more.\nRemove it."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-12-19T08:52:13.695Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/69a02273e288011b521ee7c1f3ab2c23fda633ce"
        },
        {
          "url": "https://git.kernel.org/stable/c/d679c816929d62af51c8e6d7fc0e165c9412d2f3"
        },
        {
          "url": "https://git.kernel.org/stable/c/ab86cf6f8d24e63e9aca23da5108af1aa5483928"
        },
        {
          "url": "https://git.kernel.org/stable/c/7a3bbe41efa55323b6ea3c35fa15941d4dbecdef"
        },
        {
          "url": "https://git.kernel.org/stable/c/bbaafbb4651fede8d3c3881601ecaa4f834f9d3f"
        },
        {
          "url": "https://git.kernel.org/stable/c/52aaf1ff14622a04148dbb9ccce6d9de5d534ea7"
        },
        {
          "url": "https://git.kernel.org/stable/c/ca09dfc3cfdf89e6af3ac24e1c6c0be5c575a729"
        },
        {
          "url": "https://git.kernel.org/stable/c/1be3226445362bfbf461c92a5bcdb1723f2e4907"
        }
      ],
      "title": "serial/pmac_zilog: Remove flawed mitigation for rx irq flood",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-26999",
    "datePublished": "2024-05-01T05:28:30.760Z",
    "dateReserved": "2024-02-19T14:20:24.206Z",
    "dateUpdated": "2024-12-19T08:52:13.695Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-26999\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-05-01T06:15:17.870\",\"lastModified\":\"2024-11-21T09:03:35.323\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nserial/pmac_zilog: Remove flawed mitigation for rx irq flood\\n\\nThe mitigation was intended to stop the irq completely. That may be\\nbetter than a hard lock-up but it turns out that you get a crash anyway\\nif you\u0027re using pmac_zilog as a serial console:\\n\\nttyPZ0: pmz: rx irq flood !\\nBUG: spinlock recursion on CPU#0, swapper/0\\n\\nThat\u0027s because the pr_err() call in pmz_receive_chars() results in\\npmz_console_write() attempting to lock a spinlock already locked in\\npmz_interrupt(). With CONFIG_DEBUG_SPINLOCK=y, this produces a fatal\\nBUG splat. The spinlock in question is the one in struct uart_port.\\n\\nEven when it\u0027s not fatal, the serial port rx function ceases to work.\\nAlso, the iteration limit doesn\u0027t play nicely with QEMU, as can be\\nseen in the bug report linked below.\\n\\nA web search for other reports of the error message \\\"pmz: rx irq flood\\\"\\ndidn\u0027t produce anything. So I don\u0027t think this code is needed any more.\\nRemove it.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: serial/pmac_zilog: eliminar la mitigaci\u00f3n defectuosa para rx irq Flood La mitigaci\u00f3n ten\u00eda como objetivo detener irq por completo. Esto puede ser mejor que un bloqueo duro, pero resulta que de todos modos se bloquea si est\u00e1s usando pmac_zilog como consola serie: ttyPZ0: pmz: rx irq Flood ! ERROR: recursi\u00f3n de spinlock en CPU#0, swapper/0 Esto se debe a que la llamada pr_err() en pmz_receive_chars() da como resultado que pmz_console_write() intente bloquear un spinlock ya bloqueado en pmz_interrupt(). Con CONFIG_DEBUG_SPINLOCK=y, esto produce un error fatal. El spinlock en cuesti\u00f3n es el de la estructura uart_port. Incluso cuando no es fatal, la funci\u00f3n de recepci\u00f3n del puerto serie deja de funcionar. Adem\u00e1s, el l\u00edmite de iteraci\u00f3n no funciona bien con QEMU, como se puede ver en el informe de error vinculado a continuaci\u00f3n. Una b\u00fasqueda en la web de otros informes del mensaje de error \\\"pmz: rx irq Flood\\\" no produjo nada. As\u00ed que no creo que este c\u00f3digo ya sea necesario. Ret\u00edrelo.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1be3226445362bfbf461c92a5bcdb1723f2e4907\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/52aaf1ff14622a04148dbb9ccce6d9de5d534ea7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/69a02273e288011b521ee7c1f3ab2c23fda633ce\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7a3bbe41efa55323b6ea3c35fa15941d4dbecdef\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ab86cf6f8d24e63e9aca23da5108af1aa5483928\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bbaafbb4651fede8d3c3881601ecaa4f834f9d3f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ca09dfc3cfdf89e6af3ac24e1c6c0be5c575a729\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d679c816929d62af51c8e6d7fc0e165c9412d2f3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1be3226445362bfbf461c92a5bcdb1723f2e4907\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/52aaf1ff14622a04148dbb9ccce6d9de5d534ea7\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/69a02273e288011b521ee7c1f3ab2c23fda633ce\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/7a3bbe41efa55323b6ea3c35fa15941d4dbecdef\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/ab86cf6f8d24e63e9aca23da5108af1aa5483928\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/bbaafbb4651fede8d3c3881601ecaa4f834f9d3f\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/ca09dfc3cfdf89e6af3ac24e1c6c0be5c575a729\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://git.kernel.org/stable/c/d679c816929d62af51c8e6d7fc0e165c9412d2f3\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}"
  }
}


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.