CVE-2026-65635 json
Boruta dynamic client registration allows creation of over-privileged OAuth clients
published 2026-07-30 3 mo ago modified 2026-10-23 16 d ago also EEF-CVE-2026-65635 , EUVD-2026-51144 , GHSA-w869-fcf2-68vp
- cvss
- 8.3
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 32%
- public exploits
- 0
- none known
Summary
Improper Isolation or Compartmentalization vulnerability in malach-it boruta (Elixir.Boruta.Openid module) allows attackers to register OpenID Connect clients with administrative privileges through the dynamic client registration entry point. Boruta.Openid.register_client/3 forwards caller-supplied registration parameters to the administrative client creation path without a public/admin field-level allowlist, so an unauthenticated registrant can set security-sensitive attributes including supported grant types, authorized scopes, PKCE enforcement, public refresh and revocation behavior, token lifetimes, and signing settings. The library does not distinguish between metadata a public registrant is allowed to set and administrative controls that should require operator approval.
This vulnerability is associated with program files lib/boruta/openid.ex and program routines 'Elixir.Boruta.Openid':register_client/3, 'Elixir.Boruta.Openid':parse_registration_params/2.
This issue affects boruta from 2.3.0 before 2.3.7.
Patch / fix
- hex boruta 2.3.7
- malach-it boruta 2.3.7
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 3 mo ago
Exploit prediction
0.38% chance of exploitation in the next 30 days, higher than 32% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/malach-it/boruta_auth/security/advisories/GHSA-w869-fcf2-68vp referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:H/VA:L/SC:L/SI:L/SA:N |
| CNA | 4.0 | 8.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:H/VA:L/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | boruta | >=2.3.0, <2.3.7 |
2.3.7 |
Affected products
- malach-it boruta
Classification
- Weakness
-
- CWE-653 Improper Isolation or Compartmentalization
References
-
github.com
/malach-it/boruta_auth/commit/82584c854a332482232fd25301ab12a835f9f643
patch
-
github.com
/malach-it/boruta_auth/commit/95619a1beaff68fa766cca9b388e7c780d182525
patch
-
github.com
/malach-it/boruta_auth/security/advisories/GHSA-w869-fcf2-68vp
vendor-advisory, related, exploit, advisory
-
cna.erlef.org
/cves/CVE-2026-65635.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-65635
related
-
hex.pm
/packages/boruta
package
Sources
- CVE List CVE-2026-65635
- NVD CVE-2026-65635
- OSV EEF-CVE-2026-65635
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.