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

Vulnerability from cvelistv5 – Published: 2026-07-25 08:49 – Updated: 2026-08-17 04:53
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
Linux CNA under the mitre root
CNA scorecard D 53/100 over 6653 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 766b2d724c8df071031412eea902b566a0049c31 , < 037ec8353711c79353b12d5634e0c9ff363a9efa (git)
Affected: 766b2d724c8df071031412eea902b566a0049c31 , < 43de8b9f01b7dd2f6ca5360c6bf2f203c02288dc (git)
Affected: 766b2d724c8df071031412eea902b566a0049c31 , < af3d1bb9a09daf928fc3f173689fb7904d6a6d4f (git)
guessed 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 , ≤ * (original_commit_for_fix)
guessed 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",
              "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",
                  "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-17T04:53:10.994Z",
        "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-17T04:53:10.994Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64311",
      "date": "2026-11-08",
      "epss": "0.00168",
      "percentile": "0.0621"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "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",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "CA2CE3BD-0548-4984-8C39-F3D3DF4D64E1",
                    "versionEndExcluding": "6.18.39",
                    "versionStartIncluding": "6.18",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "6228DDD6-4557-4AA3-9F43-AB995D471E42",
                    "versionEndExcluding": "7.1.4",
                    "versionStartIncluding": "6.19",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "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."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\ncrypto: loongson - Eliminar loongson-rng roto y sin usar\n\nEl rng_alg loongson-rng tiene varias vulnerabilidades, incluyendo no proporcionar seguridad hacia adelante, y un error de uso despu\u00e9s de liberaci\u00f3n debido al uso de wait_for_completion_interruptible().\n\nMientras tanto, el framework rng_alg realmente no tiene ning\u00fan prop\u00f3sito en primer lugar aparte de acceder a los algoritmos de software crypto/drbg.c y crypto/jitterentropy.c. Los rng_algs espec\u00edficos de hardware no tienen un usuario en el kernel, y a diferencia de hwrng no hay alimentaci\u00f3n al RNG de Linux real. Como tal, realmente no tiene sentido este c\u00f3digo. Hay, por supuesto, otros controladores rng_alg que est\u00e1n igualmente sin usar, pero est\u00e1n igualmente en proceso de ser eliminados gradualmente, p. ej. https://lore.kernel.org/r/20260529193648.18172-1-ebiggers@kernel.org y https://lore.kernel.org/r/20260529220430.34135-1-ebiggers@kernel.org\n\nDado eso, no tiene sentido corregir hacia adelante estas vulnerabilidades, y tiene mucho m\u00e1s sentido simplemente revertir la adici\u00f3n de este controlador. Si esta plataforma proporciona funcionalidad TRNG (no PRNG), podr\u00eda tener sentido a\u00f1adir un controlador hwrng, pero ser\u00eda bastante diferente."
          }
        ],
        "id": "CVE-2026-64311",
        "lastModified": "2026-10-24T13:10:00.147",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-07-25T10:17:12.263",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/037ec8353711c79353b12d5634e0c9ff363a9efa"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/43de8b9f01b7dd2f6ca5360c6bf2f203c02288dc"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/af3d1bb9a09daf928fc3f173689fb7904d6a6d4f"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Analyzed",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-416"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-11-06T19:12:56+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": "200",
      "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…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

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.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
How durations are calculated

Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.

Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.

Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.