← Back to CVE Explorer

CVE-2025-40126

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: sparc: fix accurate exception reporting in copy_{from_to}_user for UltraSPARC The referenced commit introduced exception handlers on user-space memory references in copy_from_user and copy_to_user. These handlers return from the respective function and calculate the remaining bytes left to copy using the current register contents. This commit fixes a couple of bad calculations. This will fix the return value of copy_from_user and copy_to_user in the faulting case. The behaviour of memcpy stays unchanged.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Deferred
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-11-12 11:15:42.163000
Last modified
2026-10-19 21:10:00.160000
View original CVE JSON
{
  "id": "CVE-2025-40126",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2025-11-12T11:15:42.163",
  "lastModified": "2026-10-19T21:10:00.160",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsparc: fix accurate exception reporting in copy_{from_to}_user for UltraSPARC\n\nThe referenced commit introduced exception handlers on user-space memory\nreferences in copy_from_user and copy_to_user. These handlers return from\nthe respective function and calculate the remaining bytes left to copy\nusing the current register contents. This commit fixes a couple of bad\ncalculations. This will fix the return value of copy_from_user and\ncopy_to_user in the faulting case. The behaviour of memcpy stays unchanged."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nsparc: corrige la notificación precisa de excepciones en copy_{from_to}_user para UltraSPARC\n\nEl commit referenciado introdujo manejadores de excepciones en referencias de memoria de espacio de usuario en copy_from_user y copy_to_user. Estos manejadores regresan de la función respectiva y calculan los bytes restantes por copiar utilizando el contenido actual del registro. Este commit corrige un par de cálculos erróneos. Esto corregirá el valor de retorno de copy_from_user y copy_to_user en el caso de fallo. El comportamiento de memcpy permanece sin cambios."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "arch/sparc/lib/U1memcpy.S"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "cb736fdbb208eb3420f1a2eb2bfc024a6e9dcada",
              "lessThan": "0bf3dc3a2156f1c5ddaba4b85d09767874634114",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "cb736fdbb208eb3420f1a2eb2bfc024a6e9dcada",
              "lessThan": "41c18baee66134e6ef786eb075c1b6adb22432b0",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "cb736fdbb208eb3420f1a2eb2bfc024a6e9dcada",
              "lessThan": "59424dc0d0e044b2eb007686a4724ddd91d57db5",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "cb736fdbb208eb3420f1a2eb2bfc024a6e9dcada",
              "lessThan": "9b137f277cc3297044aabd950f589e505d30104c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "cb736fdbb208eb3420f1a2eb2bfc024a6e9dcada",
              "lessThan": "674ff598148a28bae0b5372339de56f2abf0b1d1",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "cb736fdbb208eb3420f1a2eb2bfc024a6e9dcada",
              "lessThan": "7de3a75bbc8465d816336c74d50109e73501efab",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "cb736fdbb208eb3420f1a2eb2bfc024a6e9dcada",
              "lessThan": "57c278500fce3cd4e1c540700c0b05426a958393",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "cb736fdbb208eb3420f1a2eb2bfc024a6e9dcada",
              "lessThan": "4fba1713001195e59cfc001ff1f2837dab877efb",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "1731d90d8a558ecb20cdee0c2c001ae8e15c251d",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "b0580eadc19ff3a617a7d07cfaf2a985153c114e",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "4.4.34",
              "lessThan": "4.5",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "4.8.10",
              "lessThan": "4.9",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "arch/sparc/lib/U1memcpy.S"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "4.9",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "4.9",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.4.301",
              "lessThanOrEqual": "5.4.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.246",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.195",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.156",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.112",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.53",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.17.3",
              "lessThanOrEqual": "6.17.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/0bf3dc3a2156f1c5ddaba4b85d09767874634114",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/41c18baee66134e6ef786eb075c1b6adb22432b0",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4fba1713001195e59cfc001ff1f2837dab877efb",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/57c278500fce3cd4e1c540700c0b05426a958393",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/59424dc0d0e044b2eb007686a4724ddd91d57db5",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/674ff598148a28bae0b5372339de56f2abf0b1d1",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7de3a75bbc8465d816336c74d50109e73501efab",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9b137f277cc3297044aabd950f589e505d30104c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}