CVE-2026-54510
HighCVSS 7.1Exploitation Probability (EPSS)
Low risk4th percentile - higher than 4% of all known CVEs
Summary
In Speakr prior to 0.8.21-alpha, the csrf_exempt_for_api_tokens() hook permanently exempts a view from CSRF protection, and is_token_authenticated() treats any present token (including from URL query) as authenticated without validation. A network attacker can disable CSRF protection and perform cross-origin attacks.
Risk Assessment
This can modify profile data, transcription settings, preferences, and administrative status, and can set a local password on an SSO-only account to bypass SSO.
Recommendation
Upgrade Speakr to version 0.8.21-alpha or later; until then consider disabling token-based authentication via URL parameters.
Related vulnerabilities
- CVE-2026-116235Critical
A flaw was found in Oray Pugongying X5 Pro 7.6.1 in an unknown function of the L2TP Authentication component. Manipulating the Username argument causes CRLF injection. The attack can be launched remotely and a public exploit is available.
- CVE-2026-116234Critical
A vulnerability was detected in Oray Pugongying X5 Pro 7.6.1 in an unknown function of /etc/ipsec.conf within the IPsec Policy Handler component. Manipulating the secproto argument results in CRLF injection. The attack can be launched remotely and the exploit is public.
- CVE-2026-116233Critical
A security vulnerability was detected in Oray Pugongying X5 Pro 7.6.1 in an unknown function of the Dnsmasq component. Manipulating the rent_time argument leads to CRLF injection. The attack can be initiated remotely and the exploit has been publicly disclosed.
- CVE-2026-116232Critical
A weakness was identified in Oray Pugongying X5 Pro 7.6.1 affecting the snmp_set function of the SNMP Handler component. Manipulating the info.community argument can lead to CRLF injection. The attack can be launched remotely and a public exploit is available.
- CVE-2026-116231Critical
A security flaw was discovered in Oray Pugongying X5 Pro 7.6.1 in an unknown function of the Ser2net component. Manipulating the regmsg argument results in CRLF injection. The attack can be initiated remotely and the exploit has been publicly released.
- CVE-2026-116207Critical
YesWiki 4.6.0 before 4.7.0 and 5.0.0-alpha1 before 5.0.0-alpha4 contains an unauthenticated SQL injection vulnerability in SearchManager::prepareSearchRequest(). Field names from the query and searchfields parameters of the public Bazar entries search API are placed in a backtick-quoted alias escaped only with mysqli_real_escape_string, allowing subquery injection.
- CVE-2026-115214Critical
The Datawiza Proxy Auth Plugin WordPress plugin before 1.1.1 does not verify that the user-identity and role HTTP request headers it trusts originate from a trusted reverse proxy. This allows unauthenticated attackers to create and authenticate as a WordPress administrator.
- CVE-2026-115995Critical
A vulnerability was detected in Unitree Robotics Unitree Go2 up to version 1.1.11.4. The set_volume function in gpt_thread.py of the chat_go component mishandles the Value argument, leading to OS command injection. The attack can be launched remotely, and upgrading to version 1.1.11.5 resolves the issue.
- CVE-2026-114820Critical
Vulnerability in the JSSE component of Oracle Java SE, Oracle GraalVM for JDK, and Oracle GraalVM Enterprise Edition. It is easily exploitable by an unauthenticated attacker with network access, leading to unauthorized creation, deletion, or modification of critical data as well as unauthorized access to critical data. The vulnerability also applies to Java deployments that load and run untrusted code in a sandbox (e.g., Java Web Start applications or applets).
- CVE-2026-115933Critical
Postiz signs its session, invitation and password reset tokens with one shared secret and without any marker of what a token is for. A route that refreshes the credentials of a browser-extension channel signed data taken from the request itself and stored the result where the requesting user can read it back, allowing a user to obtain a validly signed token containing any claims they choose, accepted as a session, an organization invitation with a chosen role, a password reset or an enterprise provisioning token.
Original NVD description (English source)
Speakr is a personal, self-hosted web application designed for transcribing audio recordings. Prior to 0.8.21-alpha, the csrf_exempt_for_api_tokens() before_request hook in src/app.py calls csrf.exempt(view_func), permanently adding the selected view to Flask-WTF's process-global exemption set. The is_token_authenticated() function in src/utils/token_auth.py calls extract_token_from_request() and treats any present token, including request.args.get('token'), as authenticated without hashing the token, querying the database, or checking validity. A network-reachable attacker can therefore send a false token to disable CSRF protection for the targeted view for the worker lifetime. Because the exemption applies to the view function across HTTP methods, a cross-origin GET to /account with a query token can poison CSRF state for a later state-changing POST without triggering CORS preflight. This browser sequence requires attacker-controlled content on a sibling subdomain under the documented cookie conditions. The bypass can modify profile data, custom prompts, transcription settings, preferences, and administrative status through routes such as admin_toggle_admin. The change_password route also skips current-password verification when current_user.password is empty, allowing the chain to set a local password on an SSO-only account and bypass SSO. This issue is fixed in version 0.8.21-alpha.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

