CVE-2026-16615
Librest: weak random number generation in pkce implementation
CVE-2026-16615 is a medium vulnerability (CVSS 6.8) in Gnome Librest, published July 22, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.43%, the 37th percentile. Fixed in rest 0.9.1-11.el10_2.1.
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.8
Librest: weak random number generation in pkce implementation
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.
- Record
CVE-2026-16615- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-338
- Updated
- 2026-11-02
EUVDEUVD-2026-47742
6.8
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.
- Record
EUVD-2026-47742- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-223h-642r-2f6v
6.8
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand...
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.
- Record
GHSA-223h-642r-2f6v- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-338
- Updated
- 2026-11-02
NVD
6.8
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.
- Record
CVE-2026-16615- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-338
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-16615
6.8
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.
- Record
DEBIAN-CVE-2026-16615- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVOESA-2026-3974
6.8
rest security update
This library has been designed to make it easier to access web services that claim to be "RESTful". It comprises of two parts: the first aims to make it easier to make requests by providing a wrapper around libsoup, the second aids with XML parsing by wrapping libxml2.
Security Fix(es):
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.(CVE-2026-16615)
- Record
OESA-2026-3974- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
Show 16 moreShow less
OSVOESA-2026-3975
6.8
rest security update
This library has been designed to make it easier to access web services that claim to be "RESTful". It comprises of two parts: the first aims to make it easier to make requests by providing a wrapper around libsoup, the second aids with XML parsing by wrapping libxml2.
Security Fix(es):
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.(CVE-2026-16615)
- Record
OESA-2026-3975- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVOESA-2026-3976
6.8
rest security update
This library has been designed to make it easier to access web services that claim to be "RESTful". It comprises of two parts: the first aims to make it easier to make requests by providing a wrapper around libsoup, the second aids with XML parsing by wrapping libxml2.
Security Fix(es):
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.(CVE-2026-16615)
- Record
OESA-2026-3976- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVRHSA-2026:47085
6.8
Red Hat Security Advisory: rest security update
- Record
RHSA-2026:47085- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVRHSA-2026:62222
6.8
Red Hat Security Advisory: rest security update
- Record
RHSA-2026:62222- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVRLSA-2026:47085
6.8
Important: rest security update
The rest packages provide a library for access to the RESTful web services.
Security Fix(es):
- librest: weak random number generation in PKCE implementation (CVE-2026-16615)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
- Record
RLSA-2026:47085- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-16615
6.8
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.
- Record
UBUNTU-CVE-2026-16615- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVALSA-2026:47085 No score
Important: rest security update
The rest packages provide a library for access to the RESTful web services.
Security Fix(es):
- librest: weak random number generation in PKCE implementation (CVE-2026-16615)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
- Record
ALSA-2026:47085- Updated
- 2026-11-02
OSVAZL-93303 No score
CVE-2026-16615 affecting package rest for versions less than 0.9.0-2
A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand function from the GLib API, a cryptographically insecure pseudo-random number generator. Because the generated "code verifier" lacks sufficient cryptographic entropy, a malicious actor can reverse-engineer the pseudo-random number generator (PRNG) seed to predict or reconstruct the code verifier string, allowing an attacker to bypass PKCE protections and successfully impersonate the client during the OAuth 2.0 authorization flow.
- Record
AZL-93303- Updated
- 2026-11-02
OSVMGASA-2026-0436 No score
Updated rest packages fix a security vulnerability
Weak random number generation in pkce implementation. (CVE-2026-16615)
- Record
MGASA-2026-0436- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11477-1 No score
librest-1_0-0-0.10.2-2.1 on GA media
These are all security issues fixed in the librest-1_0-0-0.10.2-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11477-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21563-1 No score
Security update for librest0_7
This update for librest0_7 fixes the following issues:
Changes in librest0_7:
- CVE-2026-16615: Fix weak random number generation (bsc#1272399, glgo#GNOME/librest!44).
- Record
openSUSE-SU-2026:21563-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21694-1 No score
Security update for librest
This update for librest fixes the following issue:
- CVE-2026-16615: PKCE implementation for OAuth authorization uses a cryptographically insecure pseudo-random number generator (bsc#1272399).
- Record
openSUSE-SU-2026:21694-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23564-1 No score
Security update for librest
This update for librest fixes the following issue:
- CVE-2026-16615: PKCE implementation for OAuth authorization uses a cryptographically insecure pseudo-random number generator (bsc#1272399).
- Record
SUSE-SU-2026:23564-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3795-1 No score
Security update for librest
This update for librest fixes the following issue:
- CVE-2026-16615: PKCE implementation for OAuth authorization uses a cryptographically insecure pseudo-random number generator (bsc#1272399).
- Record
SUSE-SU-2026:3795-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3796-1 No score
Security update for librest
This update for librest fixes the following issue:
- CVE-2026-16615: PKCE implementation for OAuth authorization uses a cryptographically insecure pseudo-random number generator (bsc#1272399).
- Record
SUSE-SU-2026:3796-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3834-1 No score
Security update for librest0_7
This update for librest0_7 fixes the following issue:
- CVE-2026-16615: PKCE implementation for OAuth authorization uses a cryptographically insecure pseudo-random number generator (bsc#1272399).
- Record
SUSE-SU-2026:3834-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
restAlmaLinux:10 |
before 0.9.1-11.el10_2.1 | 0.9.1-11.el10_2.1 |
rest-develAlmaLinux:10 |
before 0.9.1-11.el10_2.1 | 0.9.1-11.el10_2.1 |
restAzure Linux:3 |
before 0.9.0-2 | 0.9.0-2 |
librestDebian:12 |
All versions, plus listed versions 0.10.2-10.9.1-61.0.0-1 |
None known |
librestDebian:13 |
All versions, plus listed versions 0.10.2-10.9.1-61.0.0-1 |
None known |
librestDebian:14 |
All versions, plus listed versions 0.10.2-10.9.1-61.0.0-1 |
None known |
restMageia:10 |
before 0.10.2-2.1.mga10 | 0.10.2-2.1.mga10 |
restMageia:9 |
before 0.9.1-2.1.mga9 | 0.9.1-2.1.mga9 |
restopenEuler:24.03-LTS-SP1 |
before 0.9.1-6.oe2403sp1 | 0.9.1-6.oe2403sp1 |
restopenEuler:24.03-LTS-SP3 |
before 0.9.1-6.oe2403sp3 | 0.9.1-6.oe2403sp3 |
Show 27 moreShow less
| Package | Affected | Fixed |
|---|---|---|
restopenEuler:24.03-LTS-SP4 |
before 0.9.1-6.oe2403sp4 | 0.9.1-6.oe2403sp4 |
restRed Hat:enterprise_linux:10.2 |
before 0:0.9.1-11.el10_2.1 | 0:0.9.1-11.el10_2.1 |
rest-debuginfoRed Hat:enterprise_linux:10.2 |
before 0:0.9.1-11.el10_2.1 | 0:0.9.1-11.el10_2.1 |
rest-debugsourceRed Hat:enterprise_linux:10.2 |
before 0:0.9.1-11.el10_2.1 | 0:0.9.1-11.el10_2.1 |
rest-demo-debuginfoRed Hat:enterprise_linux:10.2 |
before 0:0.9.1-11.el10_2.1 | 0:0.9.1-11.el10_2.1 |
rest-develRed Hat:enterprise_linux:10.2 |
before 0:0.9.1-11.el10_2.1 | 0:0.9.1-11.el10_2.1 |
restRed Hat:enterprise_linux_eus:10.0 |
before 0:0.9.1-11.el10_0.1 | 0:0.9.1-11.el10_0.1 |
rest-debuginfoRed Hat:enterprise_linux_eus:10.0 |
before 0:0.9.1-11.el10_0.1 | 0:0.9.1-11.el10_0.1 |
rest-debugsourceRed Hat:enterprise_linux_eus:10.0 |
before 0:0.9.1-11.el10_0.1 | 0:0.9.1-11.el10_0.1 |
rest-demo-debuginfoRed Hat:enterprise_linux_eus:10.0 |
before 0:0.9.1-11.el10_0.1 | 0:0.9.1-11.el10_0.1 |
rest-develRed Hat:enterprise_linux_eus:10.0 |
before 0:0.9.1-11.el10_0.1 | 0:0.9.1-11.el10_0.1 |
restRocky Linux:10 |
before 0:0.9.1-11.el10_2.1 | 0:0.9.1-11.el10_2.1 |
librestSUSE:Linux Enterprise Server 16.0 |
before 0.9.1-160000.3.1 | 0.9.1-160000.3.1 |
librestSUSE:Linux Enterprise Server for SAP applications 16.0 |
before 0.9.1-160000.3.1 | 0.9.1-160000.3.1 |
librestSUSE:Linux Enterprise Module for Desktop Applications 15 SP7 |
before 0.9.1-150600.3.3.1 | 0.9.1-150600.3.3.1 |
librestSUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 |
before 0.8.0-13.3.1 | 0.8.0-13.3.1 |
librest0_7SUSE:Linux Enterprise Workstation Extension 15 SP7 |
before 0.8.1-150600.4.3.1 | 0.8.1-150600.4.3.1 |
librestUbuntu:16.04:LTS |
All versions, plus listed versions 0.7.93-1 |
None known |
librestUbuntu:18.04:LTS |
All versions, plus listed versions 0.8.0-2 |
None known |
librestUbuntu:20.04:LTS |
All versions, plus listed versions 0.8.1-1 |
None known |
librestUbuntu:22.04:LTS |
All versions, plus listed versions 0.8.1-1.1build10.8.1-1.1build2 |
None known |
librestUbuntu:24.04:LTS |
All versions, plus listed versions 0.9.1-60.9.1-6build20.9.1-6build3 |
None known |
librestUbuntu:26.10 |
All versions, plus listed versions 0.10.2-1 |
None known |
librestUbuntu:26.04:LTS |
All versions, plus listed versions 0.9.1-6build40.10.2-1 |
None known |
librestopenSUSE:Tumbleweed |
before 0.10.2-2.1 | 0.10.2-2.1 |
librest0_7openSUSE:Leap 16.0 |
before 0.8.1-bp160.2.1 | 0.8.1-bp160.2.1 |
librestopenSUSE:Leap 16.0 |
before 0.9.1-160000.3.1 | 0.9.1-160000.3.1 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-02 | created | CVE List, EUVD, GitHub Advisories, NVD, OSV |
References
access.redhat.com/errata/RHSA-2026:47085
access.redhat.com/errata/RHSA-2026:62222
access.redhat.com/security/cve/CVE-2026-16615
bugzilla.redhat.com/show_bug.cgi?id=2504432
gitlab.gnome.org/GNOME/librest/-/issues/25
nvd.nist.gov/vuln/detail/CVE-2026-16615
Show 22 moreShow less
github.com/advisories/GHSA-223h-642r-2f6v
bugzilla.redhat.com/2504432
errata.almalinux.org/10/ALSA-2026-47085.html
security-tracker.debian.org/tracker/CVE-2026-16615
advisories.mageia.org/MGASA-2026-0436.html
bugs.mageia.org/show_bug.cgi?id=36176
lists.opensuse.org/archives/list/[email protected]/message/6Q63SLBWJIJZVOY6R6AXMKGOBBO26LVB
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3974
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3975
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3976
access.redhat.com/security/updates/classification
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_47085.json
cve.org/CVERecord?id=CVE-2026-16615
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_62222.json
errata.rockylinux.org/RLSA-2026:47085
suse.com/support/update/announcement/2026/suse-su-202623564-1
bugzilla.suse.com/1272399
suse.com/security/cve/CVE-2026-16615
suse.com/support/update/announcement/2026/suse-su-20263795-1
suse.com/support/update/announcement/2026/suse-su-20263796-1
suse.com/support/update/announcement/2026/suse-su-20263834-1
ubuntu.com/security/CVE-2026-16615