{"id":"CVE-2026-16615","aliases":["ALSA-2026:47085","AZL-93303","DEBIAN-CVE-2026-16615","EUVD-2026-47742","GHSA-223h-642r-2f6v","MGASA-2026-0436","OESA-2026-3974","OESA-2026-3975","OESA-2026-3976","RHSA-2026:47085","RHSA-2026:62222","RLSA-2026:47085","SUSE-SU-2026:23564-1","SUSE-SU-2026:3795-1","SUSE-SU-2026:3796-1","SUSE-SU-2026:3834-1","UBUNTU-CVE-2026-16615","openSUSE-SU-2026:11477-1","openSUSE-SU-2026:21563-1","openSUSE-SU-2026:21694-1"],"status":"published","title":"Librest: weak random number generation in pkce implementation","description":"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.","severity":{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00435,"percentile":0.38246,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-338"],"published":"2026-07-22T16:12:03Z","modified":"2026-11-05T05:40:51Z","fixes":[{"ecosystem":"AlmaLinux:10","package":"rest","fixed_in":["0.9.1-11.el10_2.1"],"sources":["osv"]},{"ecosystem":"AlmaLinux:10","package":"rest-devel","fixed_in":["0.9.1-11.el10_2.1"],"sources":["osv"]},{"ecosystem":"Azure Linux:3","package":"rest","fixed_in":["0.9.0-2"],"sources":["osv"]},{"ecosystem":"Mageia:10","package":"rest","fixed_in":["0.10.2-2.1.mga10"],"sources":["osv"]},{"ecosystem":"Mageia:9","package":"rest","fixed_in":["0.9.1-2.1.mga9"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP1","package":"rest","fixed_in":["0.9.1-6.oe2403sp1"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP3","package":"rest","fixed_in":["0.9.1-6.oe2403sp3"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP4","package":"rest","fixed_in":["0.9.1-6.oe2403sp4"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:10.2","package":"rest","fixed_in":["0:0.9.1-11.el10_2.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:10.2","package":"rest-debuginfo","fixed_in":["0:0.9.1-11.el10_2.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:10.2","package":"rest-debugsource","fixed_in":["0:0.9.1-11.el10_2.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:10.2","package":"rest-demo-debuginfo","fixed_in":["0:0.9.1-11.el10_2.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:10.2","package":"rest-devel","fixed_in":["0:0.9.1-11.el10_2.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux_eus:10.0","package":"rest","fixed_in":["0:0.9.1-11.el10_0.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux_eus:10.0","package":"rest-debuginfo","fixed_in":["0:0.9.1-11.el10_0.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux_eus:10.0","package":"rest-debugsource","fixed_in":["0:0.9.1-11.el10_0.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux_eus:10.0","package":"rest-demo-debuginfo","fixed_in":["0:0.9.1-11.el10_0.1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux_eus:10.0","package":"rest-devel","fixed_in":["0:0.9.1-11.el10_0.1"],"sources":["osv"]},{"ecosystem":"Rocky Linux:10","package":"rest","fixed_in":["0:0.9.1-11.el10_2.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server 16.0","package":"librest","fixed_in":["0.9.1-160000.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server for SAP applications 16.0","package":"librest","fixed_in":["0.9.1-160000.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Module for Desktop Applications 15 SP7","package":"librest","fixed_in":["0.9.1-150600.3.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5","package":"librest","fixed_in":["0.8.0-13.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Workstation Extension 15 SP7","package":"librest0_7","fixed_in":["0.8.1-150600.4.3.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"librest","fixed_in":["0.10.2-2.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 16.0","package":"librest0_7","fixed_in":["0.8.1-bp160.2.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 16.0","package":"librest","fixed_in":["0.9.1-160000.3.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"AlmaLinux:10","package":"rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.1-11.el10_2.1"}]}]},{"source":"osv","ecosystem":"AlmaLinux:10","package":"rest-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.1-11.el10_2.1"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.0-2"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.10.2-1","0.9.1-6","1.0.0-1"]},{"source":"osv","ecosystem":"Debian:13","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.10.2-1","0.9.1-6","1.0.0-1"]},{"source":"osv","ecosystem":"Debian:14","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.10.2-1","0.9.1-6","1.0.0-1"]},{"source":"osv","ecosystem":"Mageia:10","package":"rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.2-2.1.mga10"}]}]},{"source":"osv","ecosystem":"Mageia:9","package":"rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.1-2.1.mga9"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.1-6.oe2403sp1"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP3","package":"rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.1-6.oe2403sp3"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP4","package":"rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.1-6.oe2403sp4"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:10.2","package":"rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_2.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:10.2","package":"rest-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_2.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:10.2","package":"rest-debugsource","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_2.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:10.2","package":"rest-demo-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_2.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:10.2","package":"rest-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_2.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux_eus:10.0","package":"rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_0.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux_eus:10.0","package":"rest-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_0.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux_eus:10.0","package":"rest-debugsource","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_0.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux_eus:10.0","package":"rest-demo-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_0.1"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux_eus:10.0","package":"rest-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_0.1"}]}]},{"source":"osv","ecosystem":"Rocky Linux:10","package":"rest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.9.1-11.el10_2.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 16.0","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.1-160000.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP applications 16.0","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.1-160000.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Desktop Applications 15 SP7","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.1-150600.3.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.8.0-13.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Workstation Extension 15 SP7","package":"librest0_7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.8.1-150600.4.3.1"}]}]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.7.93-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.8.0-2"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.8.1-1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.8.1-1.1build1","0.8.1-1.1build2"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.9.1-6","0.9.1-6build2","0.9.1-6build3"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.10.2-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.9.1-6build4","0.10.2-1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.10.2-2.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 16.0","package":"librest0_7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.8.1-bp160.2.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 16.0","package":"librest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.1-160000.3.1"}]}]}],"products":[{"vendor":"gnome","product":"librest"},{"vendor":"red hat","product":"red hat enterprise linux 10"},{"vendor":"red hat","product":"red hat enterprise linux 10.0 extended update support"}],"references":[{"url":"https://access.redhat.com/errata/RHSA-2026:47085","tags":["vendor-advisory","x_refsource_REDHAT","advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2026:62222","tags":["vendor-advisory","x_refsource_REDHAT","advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-16615","tags":["vdb-entry","x_refsource_REDHAT","report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2504432","tags":["issue-tracking","x_refsource_REDHAT","report"]},{"url":"https://gitlab.gnome.org/GNOME/librest/-/issues/25","tags":["report","article"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-16615","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-223h-642r-2f6v"},{"url":"https://bugzilla.redhat.com/2504432","tags":["report"]},{"url":"https://errata.almalinux.org/10/ALSA-2026-47085.html","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-16615","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0436.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=36176","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/message/6Q63SLBWJIJZVOY6R6AXMKGOBBO26LVB/","tags":["web"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3974","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3975","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3976","tags":["advisory"]},{"url":"https://access.redhat.com/security/updates/classification/#important","tags":["article"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_47085.json","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-16615","tags":["advisory","report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_62222.json","tags":["advisory"]},{"url":"https://errata.rockylinux.org/RLSA-2026:47085","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202623564-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1272399","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-16615","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263795-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263796-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263834-1/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-16615","tags":["report"]},{"url":"","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-16615","title":"Librest: weak random number generation in pkce implementation","description":"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.","status":"published","published":"2026-07-22T16:12:03.536Z","modified":"2026-09-01T17:31:37.406Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-338"],"updated_at":"2026-11-02T14:20:11.24076Z"}],"euvd":[{"id":"EUVD-2026-47742","description":"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.","status":"published","published":"2026-07-22T16:12:03Z","modified":"2026-09-01T17:31:37Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T18:01:17.32054Z"}],"ghsa":[{"id":"GHSA-223h-642r-2f6v","title":"A flaw was found in librest. The PKCE implementation for OAuth authorization uses the GRand...","description":"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.","status":"published","published":"2026-07-22T18:32:38Z","modified":"2026-09-01T18:30:29Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"cwes":["CWE-338"],"updated_at":"2026-11-02T15:11:13.213599Z"}],"nvd":[{"id":"CVE-2026-16615","description":"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.","status":"published","published":"2026-07-22T17:16:55.863Z","modified":"2026-09-01T18:17:39.797Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-338"],"updated_at":"2026-11-02T14:12:32.089897Z"}],"osv":[{"id":"DEBIAN-CVE-2026-16615","description":"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.","status":"published","published":"2026-07-22T17:16:55.863Z","modified":"2026-10-01T03:02:51.406731438Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:52.562592Z"},{"id":"OESA-2026-3974","title":"rest security update","description":"This library has been designed to make it easier to access web services that claim to be \u0026amp;quot;RESTful\u0026amp;quot;. 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.\r\n\r\nSecurity Fix(es):\n\nA 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 \u0026quot;code verifier\u0026quot; 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)","status":"published","published":"2026-09-20T13:23:44Z","modified":"2026-09-20T13:30:31.90837094Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:47.643553Z"},{"id":"OESA-2026-3975","title":"rest security update","description":"This library has been designed to make it easier to access web services that claim to be \u0026amp;quot;RESTful\u0026amp;quot;. 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.\r\n\r\nSecurity Fix(es):\n\nA 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 \u0026quot;code verifier\u0026quot; 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)","status":"published","published":"2026-09-20T13:23:44Z","modified":"2026-09-20T13:30:29.705963247Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:47.643553Z"},{"id":"OESA-2026-3976","title":"rest security update","description":"This library has been designed to make it easier to access web services that claim to be \u0026amp;quot;RESTful\u0026amp;quot;. 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.\r\n\r\nSecurity Fix(es):\n\nA 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 \u0026quot;code verifier\u0026quot; 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)","status":"published","published":"2026-09-20T13:23:44Z","modified":"2026-09-20T13:30:29.717543157Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:47.643553Z"},{"id":"RHSA-2026:47085","title":"Red Hat Security Advisory: rest security update","status":"published","published":"2026-07-29T10:11:35Z","modified":"2026-09-02T10:18:09Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:53:20.984762Z"},{"id":"RHSA-2026:62222","title":"Red Hat Security Advisory: rest security update","status":"published","published":"2026-09-02T10:22:24Z","modified":"2026-09-02T10:33:14.295368144Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:53:21.91255Z"},{"id":"RLSA-2026:47085","title":"Important: rest security update","description":"The rest packages provide a library for access to the RESTful web services.\n\nSecurity Fix(es):\n\n* librest: weak random number generation in PKCE implementation (CVE-2026-16615)\n\nFor 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.","status":"published","published":"2026-07-29T18:06:20.508719Z","modified":"2026-07-29T18:25:49.261110024Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:53:26.111232Z"},{"id":"UBUNTU-CVE-2026-16615","description":"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.","status":"published","published":"2026-07-22T17:16:00Z","modified":"2026-10-17T12:58:06.513581618Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T16:56:00.592716Z"},{"id":"ALSA-2026:47085","title":"Important: rest security update","description":"The rest packages provide a library for access to the RESTful web services.  \n\nSecurity Fix(es):  \n\n  * librest: weak random number generation in PKCE implementation (CVE-2026-16615)\n\n\nFor 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.\n","status":"published","published":"2026-07-28T00:00:00Z","modified":"2026-10-29T11:30:35.344455247Z","updated_at":"2026-11-02T15:27:54.753319Z"},{"id":"AZL-93303","title":"CVE-2026-16615 affecting package rest for versions less than 0.9.0-2","description":"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.","status":"published","published":"2026-07-22T17:16:55Z","modified":"2026-11-05T05:40:51Z","updated_at":"2026-11-05T16:41:25.880689Z"},{"id":"MGASA-2026-0436","title":"Updated rest packages fix a security vulnerability","description":"Weak random number generation in pkce implementation. (CVE-2026-16615)\n","status":"published","published":"2026-09-23T01:45:55Z","modified":"2026-09-23T02:00:06.826110772Z","updated_at":"2026-11-02T15:49:43.795591Z"},{"id":"openSUSE-SU-2026:11477-1","title":"librest-1_0-0-0.10.2-2.1 on GA media","description":"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.","status":"published","published":"2026-08-09T00:00:00Z","modified":"2026-08-10T08:15:09.378447145Z","updated_at":"2026-11-02T16:58:39.516824Z"},{"id":"openSUSE-SU-2026:21563-1","title":"Security update for librest0_7","description":"This update for librest0_7 fixes the following issues:\n\nChanges in librest0_7:\n\n- CVE-2026-16615: Fix weak random number generation (bsc#1272399, glgo#GNOME/librest!44).\n","status":"published","published":"2026-08-11T17:02:11Z","modified":"2026-08-12T17:45:23.318427464Z","updated_at":"2026-11-02T16:58:41.885092Z"},{"id":"openSUSE-SU-2026:21694-1","title":"Security update for librest","description":"This update for librest fixes the following issue:\n\n- CVE-2026-16615: PKCE implementation for OAuth authorization uses a cryptographically insecure pseudo-random number\n  generator (bsc#1272399).\n","status":"published","published":"2026-08-30T14:33:19Z","modified":"2026-08-31T18:15:04.193818034Z","updated_at":"2026-11-02T16:58:42.426393Z"},{"id":"SUSE-SU-2026:23564-1","title":"Security update for librest","description":"This update for librest fixes the following issue:\n\n- CVE-2026-16615: PKCE implementation for OAuth authorization uses a cryptographically insecure pseudo-random number\n  generator (bsc#1272399).\n","status":"published","published":"2026-08-30T14:34:16Z","modified":"2026-09-29T18:23:08.580864807Z","updated_at":"2026-11-02T15:54:03.991985Z"},{"id":"SUSE-SU-2026:3795-1","title":"Security update for librest","description":"This update for librest fixes the following issue:\n\n- CVE-2026-16615: PKCE implementation for OAuth authorization uses a cryptographically insecure pseudo-random number\n  generator (bsc#1272399).\n","status":"published","published":"2026-08-25T12:38:20Z","modified":"2026-08-27T11:01:47.764011644Z","updated_at":"2026-11-02T15:54:05.392906Z"},{"id":"SUSE-SU-2026:3796-1","title":"Security update for librest","description":"This update for librest fixes the following issue:\n\n- CVE-2026-16615: PKCE implementation for OAuth authorization uses a cryptographically insecure pseudo-random number\n  generator (bsc#1272399).\n","status":"published","published":"2026-08-25T12:38:35Z","modified":"2026-08-27T11:01:47.957599472Z","updated_at":"2026-11-02T15:54:05.392906Z"},{"id":"SUSE-SU-2026:3834-1","title":"Security update for librest0_7","description":"This update for librest0_7 fixes the following issue:\n\n- CVE-2026-16615: PKCE implementation for OAuth authorization uses a cryptographically insecure pseudo-random number\n  generator (bsc#1272399).\n","status":"published","published":"2026-08-27T11:35:33Z","modified":"2026-09-04T18:23:11.306397293Z","updated_at":"2026-11-02T15:54:05.392906Z"}]}}
