CVE-2026-64311 (GCVE-0-2026-64311)

Vulnerability from cvelistv5 – Published: 2026-07-25 08:49 – Updated: 2026-08-05 12:40
VLAI
Title
crypto: loongson - Remove broken and unused loongson-rng
Summary
In the Linux kernel, the following vulnerability has been resolved: crypto: loongson - Remove broken and unused loongson-rng The loongson-rng rng_alg has several vulnerabilities, including not providing forward security, and a use-after-free bug due to the use of wait_for_completion_interruptible(). Meanwhile, the rng_alg framework doesn't really have any purpose in the first place other than to access the software algorithms crypto/drbg.c and crypto/jitterentropy.c. Hardware-specific rng_algs have no in-kernel user, and unlike hwrng there's no feed into the actual Linux RNG. As such, there's really no point to this code. There are of course other rng_alg drivers that are similarly unused, but they're similarly in the process of being phased out, e.g. https://lore.kernel.org/r/20260529193648.18172-1-ebiggers@kernel.org and https://lore.kernel.org/r/20260529220430.34135-1-ebiggers@kernel.org Given that, there's no point in fixing forward these vulnerabilities, and it makes much more sense to simply roll back the addition of this driver. If this platform provides TRNG (not PRNG) functionality, it could make sense to add a hwrng driver, but it would be quite different.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 766b2d724c8df071031412eea902b566a0049c31 , < 037ec8353711c79353b12d5634e0c9ff363a9efa (git)
Affected: 766b2d724c8df071031412eea902b566a0049c31 , < 43de8b9f01b7dd2f6ca5360c6bf2f203c02288dc (git)
Affected: 766b2d724c8df071031412eea902b566a0049c31 , < af3d1bb9a09daf928fc3f173689fb7904d6a6d4f (git)
Create a notification for this product.
Linux Linux Affected: 6.18
Unaffected: 0 , < 6.18 (semver)
Unaffected: 6.18.39 , ≤ 6.18.* (semver)
Unaffected: 7.1.4 , ≤ 7.1.* (semver)
Unaffected: 7.2-rc1 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "MAINTAINERS",
            "arch/loongarch/configs/loongson32_defconfig",
            "arch/loongarch/configs/loongson64_defconfig",
            "drivers/crypto/Kconfig",
            "drivers/crypto/Makefile",
            "drivers/crypto/loongson/Kconfig",
            "drivers/crypto/loongson/Makefile",
            "drivers/crypto/loongson/loongson-rng.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "037ec8353711c79353b12d5634e0c9ff363a9efa",
              "status": "affected",
              "version": "766b2d724c8df071031412eea902b566a0049c31",
              "versionType": "git"
            },
            {
              "lessThan": "43de8b9f01b7dd2f6ca5360c6bf2f203c02288dc",
              "status": "affected",
              "version": "766b2d724c8df071031412eea902b566a0049c31",
              "versionType": "git"
            },
            {
              "lessThan": "af3d1bb9a09daf928fc3f173689fb7904d6a6d4f",
              "status": "affected",
              "version": "766b2d724c8df071031412eea902b566a0049c31",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "MAINTAINERS",
            "arch/loongarch/configs/loongson32_defconfig",
            "arch/loongarch/configs/loongson64_defconfig",
            "drivers/crypto/Kconfig",
            "drivers/crypto/Makefile",
            "drivers/crypto/loongson/Kconfig",
            "drivers/crypto/loongson/Makefile",
            "drivers/crypto/loongson/loongson-rng.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.18"
            },
            {
              "lessThan": "6.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.39",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.39",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.4",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2-rc1",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: loongson - Remove broken and unused loongson-rng\n\nThe loongson-rng rng_alg has several vulnerabilities, including not\nproviding forward security, and a use-after-free bug due to the use of\nwait_for_completion_interruptible().\n\nMeanwhile, the rng_alg framework doesn\u0027t really have any purpose in the\nfirst place other than to access the software algorithms crypto/drbg.c\nand crypto/jitterentropy.c.  Hardware-specific rng_algs have no\nin-kernel user, and unlike hwrng there\u0027s no feed into the actual Linux\nRNG.  As such, there\u0027s really no point to this code.  There are of\ncourse other rng_alg drivers that are similarly unused, but they\u0027re\nsimilarly in the process of being phased out, e.g.\nhttps://lore.kernel.org/r/20260529193648.18172-1-ebiggers@kernel.org and\nhttps://lore.kernel.org/r/20260529220430.34135-1-ebiggers@kernel.org\n\nGiven that, there\u0027s no point in fixing forward these vulnerabilities,\nand it makes much more sense to simply roll back the addition of this\ndriver.  If this platform provides TRNG (not PRNG) functionality, it\ncould make sense to add a hwrng driver, but it would be quite different."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - An attacker reaches the vulnerable driver through local AF_ALG socket operations selecting the \"rng\" type and \"loongson_stdrng\" algorithm. No network or physical-device input path invokes it.\nAC:L - The attacker can repeatedly issue RNG requests and interrupt the waiting thread with signals, causing the asynchronous operation to outlive the interrupted call. Both request initiation and interruption are attacker-controlled.\nPR:L - AF_ALG RNG creation, binding, acceptance, and generation require only an unprivileged local account and contain no capability check. The CAP_SYS_ADMIN check applies only to the separate CAVP entropy-testing operation.\nUI:N - The attacker can open and operate the AF_ALG sockets and deliver the signal without any action by another user.\nS:U - Exploitation compromises the host kernel within the same security authority; this is ordinary local privilege escalation rather than a VM, IOMMU, or other scope-boundary escape.\nC:H - The documented use-after-free can permit attacker-controlled memory reuse and disclosure of arbitrary kernel or process-sensitive memory.\nI:H - The use-after-free and outstanding asynchronous engine operation constitute exploitable memory corruption that can potentially provide arbitrary writes or kernel control-flow hijacking.\nA:H - Use-after-free access or corruption during asynchronous completion can cause a kernel oops, panic, or complete system crash."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:40:49.542Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/037ec8353711c79353b12d5634e0c9ff363a9efa"
        },
        {
          "url": "https://git.kernel.org/stable/c/43de8b9f01b7dd2f6ca5360c6bf2f203c02288dc"
        },
        {
          "url": "https://git.kernel.org/stable/c/af3d1bb9a09daf928fc3f173689fb7904d6a6d4f"
        }
      ],
      "title": "crypto: loongson - Remove broken and unused loongson-rng",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64311",
    "datePublished": "2026-07-25T08:49:43.318Z",
    "dateReserved": "2026-07-19T15:36:31.779Z",
    "dateUpdated": "2026-08-05T12:40:49.542Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64311",
      "date": "2026-08-09",
      "epss": "0.00157",
      "percentile": "0.05327"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-64311\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-07-25T10:17:12.263\",\"lastModified\":\"2026-07-27T05:16:41.087\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ncrypto: loongson - Remove broken and unused loongson-rng\\n\\nThe loongson-rng rng_alg has several vulnerabilities, including not\\nproviding forward security, and a use-after-free bug due to the use of\\nwait_for_completion_interruptible().\\n\\nMeanwhile, the rng_alg framework doesn\u0027t really have any purpose in the\\nfirst place other than to access the software algorithms crypto/drbg.c\\nand crypto/jitterentropy.c.  Hardware-specific rng_algs have no\\nin-kernel user, and unlike hwrng there\u0027s no feed into the actual Linux\\nRNG.  As such, there\u0027s really no point to this code.  There are of\\ncourse other rng_alg drivers that are similarly unused, but they\u0027re\\nsimilarly in the process of being phased out, e.g.\\nhttps://lore.kernel.org/r/20260529193648.18172-1-ebiggers@kernel.org and\\nhttps://lore.kernel.org/r/20260529220430.34135-1-ebiggers@kernel.org\\n\\nGiven that, there\u0027s no point in fixing forward these vulnerabilities,\\nand it makes much more sense to simply roll back the addition of this\\ndriver.  If this platform provides TRNG (not PRNG) functionality, it\\ncould make sense to add a hwrng driver, but it would be quite different.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"MAINTAINERS\",\"arch/loongarch/configs/loongson32_defconfig\",\"arch/loongarch/configs/loongson64_defconfig\",\"drivers/crypto/Kconfig\",\"drivers/crypto/Makefile\",\"drivers/crypto/loongson/Kconfig\",\"drivers/crypto/loongson/Makefile\",\"drivers/crypto/loongson/loongson-rng.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"766b2d724c8df071031412eea902b566a0049c31\",\"lessThan\":\"037ec8353711c79353b12d5634e0c9ff363a9efa\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"766b2d724c8df071031412eea902b566a0049c31\",\"lessThan\":\"43de8b9f01b7dd2f6ca5360c6bf2f203c02288dc\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"766b2d724c8df071031412eea902b566a0049c31\",\"lessThan\":\"af3d1bb9a09daf928fc3f173689fb7904d6a6d4f\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"MAINTAINERS\",\"arch/loongarch/configs/loongson32_defconfig\",\"arch/loongarch/configs/loongson64_defconfig\",\"drivers/crypto/Kconfig\",\"drivers/crypto/Makefile\",\"drivers/crypto/loongson/Kconfig\",\"drivers/crypto/loongson/Makefile\",\"drivers/crypto/loongson/loongson-rng.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.18\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.18\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.39\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.4\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2-rc1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/037ec8353711c79353b12d5634e0c9ff363a9efa\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/43de8b9f01b7dd2f6ca5360c6bf2f203c02288dc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/af3d1bb9a09daf928fc3f173689fb7904d6a6d4f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-07-29T09:27:30+00:00",
      "cve": "CVE-2026-64311",
      "id": "CVE-2026-64311",
      "initial_release_date": "2026-07-25T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: crypto: loongson - Remove broken and unused loongson-rng",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64311.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…