CVE-2025-22060 (GCVE-0-2025-22060)
Vulnerability from cvelistv5
Published
2025-04-16 14:12
Modified
2025-05-26 05:17
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: Prevent parser TCAM memory corruption Protect the parser TCAM/SRAM memory, and the cached (shadow) SRAM information, from concurrent modifications. Both the TCAM and SRAM tables are indirectly accessed by configuring an index register that selects the row to read or write to. This means that operations must be atomic in order to, e.g., avoid spreading writes across multiple rows. Since the shadow SRAM array is used to find free rows in the hardware table, it must also be protected in order to avoid TOCTOU errors where multiple cores allocate the same row. This issue was detected in a situation where `mvpp2_set_rx_mode()` ran concurrently on two CPUs. In this particular case the MVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the classifier unit to drop all incoming unicast - indicated by the `rx_classifier_drops` counter.
Impacted products
Vendor Product Version
Linux Linux Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Version: 3f518509dedc99f0b755d2ce68d24f610e3a005a
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/marvell/mvpp2/mvpp2.h",
            "drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c",
            "drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e3711163d14d02af9005e4cdad30899c565f13fb",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "b3f48a41a00d6d8d9c6fe09ae47dd21c8c1c8b03",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "5b0ae1723a7d9574ae1aee7d9cf9757a30069865",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "fcbfb54a0269875cf3cd6a2bff4f85a2e0a0b552",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "e64e9b6e86b39db3baa576fd73da73533b54cb2d",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "46c1e23e34c9d1eaadf37f88216d9d8ce0d0bcee",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            },
            {
              "lessThan": "96844075226b49af25a69a1d084b648ec2d9b08d",
              "status": "affected",
              "version": "3f518509dedc99f0b755d2ce68d24f610e3a005a",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/marvell/mvpp2/mvpp2.h",
            "drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c",
            "drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.17"
            },
            {
              "lessThan": "3.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.180",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.134",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.87",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.23",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.13.*",
              "status": "unaffected",
              "version": "6.13.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.14.*",
              "status": "unaffected",
              "version": "6.14.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.15",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.180",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.134",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.87",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.23",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13.11",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14.2",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15",
                  "versionStartIncluding": "3.17",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: mvpp2: Prevent parser TCAM memory corruption\n\nProtect the parser TCAM/SRAM memory, and the cached (shadow) SRAM\ninformation, from concurrent modifications.\n\nBoth the TCAM and SRAM tables are indirectly accessed by configuring\nan index register that selects the row to read or write to. This means\nthat operations must be atomic in order to, e.g., avoid spreading\nwrites across multiple rows. Since the shadow SRAM array is used to\nfind free rows in the hardware table, it must also be protected in\norder to avoid TOCTOU errors where multiple cores allocate the same\nrow.\n\nThis issue was detected in a situation where `mvpp2_set_rx_mode()` ran\nconcurrently on two CPUs. In this particular case the\nMVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the\nclassifier unit to drop all incoming unicast - indicated by the\n`rx_classifier_drops` counter."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-26T05:17:35.755Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e3711163d14d02af9005e4cdad30899c565f13fb"
        },
        {
          "url": "https://git.kernel.org/stable/c/b3f48a41a00d6d8d9c6fe09ae47dd21c8c1c8b03"
        },
        {
          "url": "https://git.kernel.org/stable/c/5b0ae1723a7d9574ae1aee7d9cf9757a30069865"
        },
        {
          "url": "https://git.kernel.org/stable/c/fcbfb54a0269875cf3cd6a2bff4f85a2e0a0b552"
        },
        {
          "url": "https://git.kernel.org/stable/c/e64e9b6e86b39db3baa576fd73da73533b54cb2d"
        },
        {
          "url": "https://git.kernel.org/stable/c/46c1e23e34c9d1eaadf37f88216d9d8ce0d0bcee"
        },
        {
          "url": "https://git.kernel.org/stable/c/96844075226b49af25a69a1d084b648ec2d9b08d"
        }
      ],
      "title": "net: mvpp2: Prevent parser TCAM memory corruption",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-22060",
    "datePublished": "2025-04-16T14:12:16.121Z",
    "dateReserved": "2024-12-29T08:45:45.812Z",
    "dateUpdated": "2025-05-26T05:17:35.755Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-22060\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-04-16T15:15:59.477\",\"lastModified\":\"2025-04-17T20:22:16.240\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: mvpp2: Prevent parser TCAM memory corruption\\n\\nProtect the parser TCAM/SRAM memory, and the cached (shadow) SRAM\\ninformation, from concurrent modifications.\\n\\nBoth the TCAM and SRAM tables are indirectly accessed by configuring\\nan index register that selects the row to read or write to. This means\\nthat operations must be atomic in order to, e.g., avoid spreading\\nwrites across multiple rows. Since the shadow SRAM array is used to\\nfind free rows in the hardware table, it must also be protected in\\norder to avoid TOCTOU errors where multiple cores allocate the same\\nrow.\\n\\nThis issue was detected in a situation where `mvpp2_set_rx_mode()` ran\\nconcurrently on two CPUs. In this particular case the\\nMVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the\\nclassifier unit to drop all incoming unicast - indicated by the\\n`rx_classifier_drops` counter.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: mvpp2: Prevenir la corrupci\u00f3n de memoria TCAM del analizador Proteja la memoria TCAM/SRAM del analizador y la informaci\u00f3n SRAM en cach\u00e9 (shadow) de modificaciones simult\u00e1neas. Se accede indirectamente a las tablas TCAM y SRAM configurando un registro de \u00edndice que selecciona la fila en la que leer o escribir. Esto significa que las operaciones deben ser at\u00f3micas para, por ejemplo, evitar propagar escrituras en varias filas. Dado que la matriz shadow SRAM se utiliza para encontrar filas libres en la tabla de hardware, tambi\u00e9n debe protegerse para evitar errores TOCTOU en los que varios n\u00facleos asignan la misma fila. Este problema se detect\u00f3 en una situaci\u00f3n en la que `mvpp2_set_rx_mode()` se ejecutaba simult\u00e1neamente en dos CPU. En este caso particular, la entrada MVPP2_PE_MAC_UC_PROMISCUOUS estaba da\u00f1ada, lo que provocaba que la unidad clasificadora descartara toda la unidifusi\u00f3n entrante, lo que se indica mediante el contador `rx_classifier_drops`.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/46c1e23e34c9d1eaadf37f88216d9d8ce0d0bcee\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5b0ae1723a7d9574ae1aee7d9cf9757a30069865\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/96844075226b49af25a69a1d084b648ec2d9b08d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b3f48a41a00d6d8d9c6fe09ae47dd21c8c1c8b03\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e3711163d14d02af9005e4cdad30899c565f13fb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e64e9b6e86b39db3baa576fd73da73533b54cb2d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fcbfb54a0269875cf3cd6a2bff4f85a2e0a0b552\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


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.


Loading…

Loading…