CVE-2025-37938 (GCVE-0-2025-37938)
Vulnerability from cvelistv5
Published
2025-05-20 15:34
Modified
2025-05-26 05:24
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: tracing: Verify event formats that have "%*p.." The trace event verifier checks the formats of trace events to make sure that they do not point at memory that is not in the trace event itself or in data that will never be freed. If an event references data that was allocated when the event triggered and that same data is freed before the event is read, then the kernel can crash by reading freed memory. The verifier runs at boot up (or module load) and scans the print formats of the events and checks their arguments to make sure that dereferenced pointers are safe. If the format uses "%*p.." the verifier will ignore it, and that could be dangerous. Cover this case as well. Also add to the sample code a use case of "%*pbl".
Impacted products
Vendor Product Version
Linux Linux Version: 5013f454a352cce8e62162976026a9c472595e42
Version: 5013f454a352cce8e62162976026a9c472595e42
Version: 5013f454a352cce8e62162976026a9c472595e42
Version: 5013f454a352cce8e62162976026a9c472595e42
Version: 5013f454a352cce8e62162976026a9c472595e42
Version: 5013f454a352cce8e62162976026a9c472595e42
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/trace/trace_events.c",
            "samples/trace_events/trace-events-sample.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "6854c87ac823181c810f8c07489ba543260c0023",
              "status": "affected",
              "version": "5013f454a352cce8e62162976026a9c472595e42",
              "versionType": "git"
            },
            {
              "lessThan": "4d11fac941d83509be4e6a21038281d6d96da50c",
              "status": "affected",
              "version": "5013f454a352cce8e62162976026a9c472595e42",
              "versionType": "git"
            },
            {
              "lessThan": "03127354027508d076073b020d3070990fd6a958",
              "status": "affected",
              "version": "5013f454a352cce8e62162976026a9c472595e42",
              "versionType": "git"
            },
            {
              "lessThan": "04b80d45ecfaf780981d6582899e3ab205e4aa08",
              "status": "affected",
              "version": "5013f454a352cce8e62162976026a9c472595e42",
              "versionType": "git"
            },
            {
              "lessThan": "c7204fd1758c0caf1938e8a59809a1fdf28a8114",
              "status": "affected",
              "version": "5013f454a352cce8e62162976026a9c472595e42",
              "versionType": "git"
            },
            {
              "lessThan": "ea8d7647f9ddf1f81e2027ed305299797299aa03",
              "status": "affected",
              "version": "5013f454a352cce8e62162976026a9c472595e42",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/trace/trace_events.c",
            "samples/trace_events/trace-events-sample.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.13"
            },
            {
              "lessThan": "5.13",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.136",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.89",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.26",
              "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": "6.1.136",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.89",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.26",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13.11",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14.2",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Verify event formats that have \"%*p..\"\n\nThe trace event verifier checks the formats of trace events to make sure\nthat they do not point at memory that is not in the trace event itself or\nin data that will never be freed. If an event references data that was\nallocated when the event triggered and that same data is freed before the\nevent is read, then the kernel can crash by reading freed memory.\n\nThe verifier runs at boot up (or module load) and scans the print formats\nof the events and checks their arguments to make sure that dereferenced\npointers are safe. If the format uses \"%*p..\" the verifier will ignore it,\nand that could be dangerous. Cover this case as well.\n\nAlso add to the sample code a use case of \"%*pbl\"."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-26T05:24:07.873Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/6854c87ac823181c810f8c07489ba543260c0023"
        },
        {
          "url": "https://git.kernel.org/stable/c/4d11fac941d83509be4e6a21038281d6d96da50c"
        },
        {
          "url": "https://git.kernel.org/stable/c/03127354027508d076073b020d3070990fd6a958"
        },
        {
          "url": "https://git.kernel.org/stable/c/04b80d45ecfaf780981d6582899e3ab205e4aa08"
        },
        {
          "url": "https://git.kernel.org/stable/c/c7204fd1758c0caf1938e8a59809a1fdf28a8114"
        },
        {
          "url": "https://git.kernel.org/stable/c/ea8d7647f9ddf1f81e2027ed305299797299aa03"
        }
      ],
      "title": "tracing: Verify event formats that have \"%*p..\"",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-37938",
    "datePublished": "2025-05-20T15:34:40.509Z",
    "dateReserved": "2025-04-16T04:51:23.971Z",
    "dateUpdated": "2025-05-26T05:24:07.873Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-37938\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-05-20T16:15:31.127\",\"lastModified\":\"2025-05-21T20:25:16.407\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ntracing: Verify event formats that have \\\"%*p..\\\"\\n\\nThe trace event verifier checks the formats of trace events to make sure\\nthat they do not point at memory that is not in the trace event itself or\\nin data that will never be freed. If an event references data that was\\nallocated when the event triggered and that same data is freed before the\\nevent is read, then the kernel can crash by reading freed memory.\\n\\nThe verifier runs at boot up (or module load) and scans the print formats\\nof the events and checks their arguments to make sure that dereferenced\\npointers are safe. If the format uses \\\"%*p..\\\" the verifier will ignore it,\\nand that could be dangerous. Cover this case as well.\\n\\nAlso add to the sample code a use case of \\\"%*pbl\\\".\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: rastreo: Verificar formatos de eventos que contengan \\\"%*p..\\\" El verificador de eventos de rastreo verifica los formatos de los eventos de rastreo para asegurarse de que no apunten a memoria que no est\u00e9 en el propio evento de rastreo ni a datos que nunca se liberar\u00e1n. Si un evento hace referencia a datos asignados al momento de su activaci\u00f3n y esos mismos datos se liberan antes de la lectura del evento, el kernel puede bloquearse al leer la memoria liberada. El verificador se ejecuta al arrancar (o al cargar un m\u00f3dulo) y analiza los formatos de impresi\u00f3n de los eventos, adem\u00e1s de comprobar sus argumentos para garantizar la seguridad de los punteros desreferenciados. Si el formato usa \\\"%*p..\\\", el verificador lo ignorar\u00e1, lo cual podr\u00eda ser peligroso. Considere tambi\u00e9n este caso. A\u00f1ada tambi\u00e9n al c\u00f3digo de ejemplo un caso de uso de \\\"%*pbl\\\".\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/03127354027508d076073b020d3070990fd6a958\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/04b80d45ecfaf780981d6582899e3ab205e4aa08\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4d11fac941d83509be4e6a21038281d6d96da50c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6854c87ac823181c810f8c07489ba543260c0023\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c7204fd1758c0caf1938e8a59809a1fdf28a8114\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ea8d7647f9ddf1f81e2027ed305299797299aa03\",\"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…