CVE-2026-75866
CriticalCVSS 9.1Exploitation Probability (EPSS)
Low risk42th percentile - higher than 42% of all known CVEs
Summary
Punk::OAuth2::Server versions through 0.03 for Perl issue access tokens outside a client's registered scopes and grant types because no authorization path reads them. A client registered for authorization_code alone can request client_credentials, and the requested scope is signed into the token without comparison to registration. A registered client can obtain a correctly signed token with any scope, and a resource server using Punk::OAuth2::Checker accepts it.
Risk Assessment
The organization is exposed to unauthorized access to resources because a client can obtain a token with broader permissions than registered. Additionally, a client without a secret can authenticate with just its client_id, making it easier for anyone knowing that identifier to attack.
Recommendation
Update Punk::OAuth2::Server to the latest version that fixes this vulnerability. If an update is not available, restrict trust in clients and enforce scope checking in the consent hook.
Related vulnerabilities
- CVE-2026-108269Critical
In versions prior to 0.5.0 of Remote Attestation TLS Clients for Rust and Go, RA-TLS challenge verifiers accepted quotes bound to the certificate public key and client nonce but not to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing clients to accept an attacker-terminated connection as the attested enclave. This issue is fixed in 0.5.0.
- CVE-2026-108268Critical
In versions prior to tdx-v0.2.43 and tdx-gpu-v0.6.27, Enclave OS Virtual placed the certificate public-key hash and client nonce in quote ReportData but omitted a value bound to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing a relying party to accept an attacker-terminated connection as the attested enclave. This issue is fixed in tdx-v0.2.43 and tdx-gpu-v0.6.27.
- CVE-2026-108267Critical
In versions prior to privasys-v0.5.1-go1.26.5, Privasys Go (a fork of Go with RA-TLS support) in challenge mode bound quote ReportData to the certificate public key and client nonce but not to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing a relying party to accept a handshake terminated by the attacker as an attested enclave connection. This issue is fixed in privasys-v0.5.1-go1.26.5.
- CVE-2026-108266Critical
In versions prior to privasys-v0.8.1, Privasys rustls (a fork of the rustls TLS library with RA-TLS support) emitted RA-TLS challenge certificates whose quote ReportData was bound to the certificate public key and client nonce but not to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing a relying party to accept an attacker-terminated connection as the attested enclave. This issue is fixed in privasys-v0.8.1.
- CVE-2026-108265Critical
In versions prior to wasm-v0.40.0, Enclave OS Mini (a Rust-based runtime for confidential applications inside Intel SGX enclaves) in the RA-TLS challenge certificate path placed the certificate public-key hash and client nonce in quote ReportData but omitted a value bound to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing a relying party to accept an attacker-terminated connection as the attested enclave. This issue is fixed in wasm-v0.40.0.
- CVE-2026-108264Critical
In versions prior to 2026.9.1, Wizarr (an advanced user invitation and management system for media servers) evaluated wizard step Markdown in the application's non-sandboxed Jinja2 environment with application globals exposed. An authenticated user able to create steps, or an administrator importing an untrusted bundle through POST /settings/wizard/import, could execute arbitrary Python when rendering the stored step, potentially leading to OS command execution, disclosure of the Flask SECRET_KEY, access to connected service credentials and the database, and stored cross-site scripting. This issue is fixed in 2026.9.1.
- CVE-2026-108263Critical
In versions prior to 1.1.2, Astron Agent (an agentic workflow platform for building and running AI agents) selected LocalExecutor in the default workflow code-node path, which supplies complete Python builtins to dynamic code execution without the documented sandbox restrictions. An authenticated low-privilege tenant can execute code as root in the core-workflow container and use shared service and database credentials to bypass application-level tenant checks, read or modify other tenants' data, and disrupt shared services. This issue is fixed in version 1.1.2.
- CVE-2026-108261Critical
In versions prior to tinacms 3.14.0 and @tinacms/app 2.5.14, the /~/* admin preview route in Tina (a headless CMS) can turn an attacker-controlled hash-router splat into an off-origin iframe URL, while expectedOrigin for the GraphQL message channel is derived from that same URL. An unauthenticated attacker can send a crafted link to a signed-in editor, cause the admin to frame an attacker origin, and have that frame treated as the trusted preview, allowing GraphQL reads or mutations with the editor's credentials. This issue is fixed in tinacms 3.14.0 and @tinacms/app 2.5.14.
- CVE-2026-107845Critical
In versions from 4.0.0 until 5.3.50 and 5.7.12, Contao (an Open Source CMS) renders comment email or website metadata without sufficient attribute and URL encoding in listComments(). An unauthenticated visitor can submit a comment with malicious script that executes in the backend context when a user opens the Comments module. This issue is fixed in versions 5.3.50 and 5.7.12.
- CVE-2026-107824Critical
In versions prior to 1.1, x64dbg-MCP Server (a native MCP plugin for x64dbg) exposes all MCP debugger tools over HTTP and SSE without authentication while listening on 0.0.0.0 by default. Any unauthenticated network client that can reach the default port (9094 for x64, 9095 for x32) can execute arbitrary x64dbg commands, attach to processes by PID, read and write debuggee memory, and write files to arbitrary paths. This issue is fixed in version 1.1.
Original NVD description (English source)
Punk::OAuth2::Server versions through 0.03 for Perl issue access tokens outside a client's registered scopes and grant types because no authorization path reads them. Punk::OAuth2::Server::Store registers scopes and grant_types per client and documents both as client registration. token dispatches on the grant_type in the request body, so a client registered for authorization_code alone can ask for client_credentials, and that arm passes the requested scope straight to the minter, which signs it into the at+jwt access token. authorize copies the query scope into the authorization code record without comparing it against the registration, leaving the optional consent hook as the only check between an arbitrary scope and the issued code. redirect_uris on the same client row is read and enforced. A registered client can obtain a correctly signed token carrying any scope it names, and a resource server running Punk::OAuth2::Checker accepts that token and honours the scope. A client registered without a secret authenticates on its client_id alone, so anyone who knows that identifier can request one.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

