Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain app_secret_key or para_secret_key
-
ExploitForge JWT mapped to admin API_USER
-
ExecutionSubmit token to /api/config or /api/stats
-
ImpactRead sensitive config/logs and reach privileged configuration
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK
2 techniques across 2 tactics: Defense Evasion, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the attacker to possess one of the server signing secrets - app_secret_key or para_secret_key - which are not normally exposed; this is the primary limiting factor. Given the secret, the attacker forges a JWT (no registered API-key jti required) and targets the /api/config or /api/stats endpoints, which are mapped to the hardcoded administrative API_USER. Crucially, these checks run even when scoold.api_enabled is false, so disabling the API is NOT a mitigation. An ordinary user login-session token is explicitly insufficient - only a secret-signed token works. The definitive fix is upgrading to 1.69.1, which gates /api/config behind configEditingEnabled() and no longer accepts such tokens unconditionally. |
| Impact | This is a medium-severity authentication bypass (input CVSS 6.1) whose real-world risk is heavily gated by a single hard precondition: the attacker must already possess one of the server-side signing secrets (app_secret_key or para_secret_key). With that secret, exploitation is trivial (network-reachable, low complexity, no user interaction actually needed) and yields administrative read/write to configuration and server logs. Without it, the flaw is not exploitable, which keeps aggregate risk below what a C:H/I:H impact alone would suggest. Signal completeness is poor: no EPSS score, no CISA KEV listing, and no public POC were provided, so there is no evidence of active or widespread exploitation - exploitation status is 'no public exploit identified at time of analysis.' Two input-data concerns should be verified: the supplied CVSS vector includes UI:R (user interaction required), but the described attack is a direct forged-token API call with no victim interaction, so UI:R appears inconsistent - treat it as UI:N. Secondly, the vector's PR:H is better understood as 'possession of a server signing secret' than as a normal authenticated account, since the advisory explicitly states an ordinary login-session token is NOT sufficient. A notable aggravating factor: the vulnerable special-endpoint checks execute even when scoold.api_enabled is false, so disabling the API does not mitigate the issue. |
| Exploit ScenarioDerived | An attacker who has obtained either signing secret (e.g., from a leaked configuration file, exposed environment variable, or source/CI artifact) forges a JWT signed with that secret and sends it to /api/config or /api/stats. Scoold maps the forged token to the hardcoded administrative API_USER, granting access to sensitive configuration and server logs even when the API is disabled. No public exploit code was identified, but the mechanics are fully described in the vendor advisory and patch commits. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Authentication bypass in Scoold (Erudika) prior to 1.69.1 allows an attacker who already possesses one of the server signing secrets - app_secret_key or para_secret_key - to forge a JWT that is accepted for the /api/config and /api/stats endpoints and mapped to the hardcoded administrative API_USER, thereby reading sensitive configuration and server logs and reaching privileged configuration functionality. An ordinary user login-session token is explicitly insufficient for this attack, and the vulnerable check runs even when scoold.api_enabled is false, so turning off the API is not a mitigation. No public exploit code and no confirmed active exploitation were identified at time of analysis; because the attack hinges entirely on obtaining a server-side signing secret, the input CVSS of 6.1 (assessed vector AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N) reflects a medium-severity, heavily preconditioned issue rather than an open, remotely reachable bypass.
RemediationAI
Upgrade to Scoold 1.69.1 (vendor-released patch), which is available at https://github.com/Erudika/scoold/releases/tag/1.69.1 and removes the unconditional secret-signed-token acceptance for /api/stats and gates /api/config behind CONF.configEditingEnabled(), both changes being the definitive fix per advisory GHSA-6q9q-cqq5-hvmq. There is no complete code-level workaround for unpatched versions, and importantly disabling the API with scoold.api_enabled=false does NOT protect you because the affected checks execute regardless of that setting; if the API cannot be upgraded immediately, the most effective compensating control is rotating both app_secret_key and para_secret_key, since the attack depends entirely on possession of one of those values - the trade-off is that rotation invalidates all existing JWTs and login sessions, forcing every user and integrator to re-authenticate or re-issue tokens, and it only helps if the secrets were not already exfiltrated and reused. Additionally, restrict /api/config and /api/stats to trusted networks or administrative IP ranges at the reverse proxy or firewall, accepting the operational cost of blocking legitimate remote administration traffic, and audit configuration files, environment variables, container images, and logs to confirm the signing secrets were never exposed, since exposure of those values is the sole prerequisite for exploitation; because the fix commits are public, treat the secrets as potentially reachable by anyone who has already read them.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Scoold is a Java-based Q&A and knowledge-sharing platform built on the Erudika Para object-storage framework, and it authenticates API callers with JSON Web Tokens. The vulnerable logic lives in checkApiAuth() in src/main/java/com/erudika/scoold/utils/ScooldUtils.java, which is supposed to validate API-key JWTs that carry a registered API-key jti claim before granting access to API routes. Instead, the pre-1.69.1 code accepted any JWT validly signed with either app_secret_key or para_secret_key for the /api/config and /api/stats servlet paths and returned the hardcoded administrative API_USER object, skipping the registered-jti requirement entirely; it also performed these special-case checks before verifying that the API was enabled, meaning scoold.api_enabled=false did not block them. Root cause class is CWE-287 (Improper Authentication) - a signature-valid token is treated as an authorization credential for a privileged identity, independent of prior registration or session state. The 1.69.1 fix removes the unconditional /api/stats and /api/config branches and additionally requires CONF.configEditingEnabled() for /api/config, so configuration access is no longer granted merely because a token verifies; a companion commit to ScooldRequestInterceptor.java narrows a 500-status response path to API requests only, an incidental behavioral adjustment in the same patch. Exploitation requires the assessed high privilege level (PR:H) in the sense that the attacker must already hold a signing secret; possession of such a secret is not a normal user capability.
Know when Scoold gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N
Possession of a server signing secret is modeled as PR:H; the forged-token API call needs no victim interaction (UI:N); it reads config/logs (C:H) and alters privileged config (I:H) with no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Scoold is a Q&A and a knowledge sharing platform for teams. Prior to 1.69.1, checkApiAuth() in src/main/java/com/erudika/scoold/utils/ScooldUtils.java accepts a JWT signed with app_secret_key or para_secret_key for /api/config and /api/stats without requiring a registered API-key jti, and maps the request to the hardcoded administrative API_USER. The special endpoint checks run even when scoold.api_enabled is false. An attacker who obtains either signing secret can forge a token that reads sensitive configuration and server logs and reaches privileged configuration functionality, while an ordinary login-session token is not sufficient. This issue is fixed in version 1.69.1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Improper handling of Length parameter in GitHub repository erudika/scoold prior to 1.49.4. Rated high severity (CVSS 8.8
Scoold is a Q&A and a knowledge sharing platform for teams. Rated high severity (CVSS 8.7), this vulnerability is remote
Authentication bypass in Scoold prior to version 1.67.0 allows high-privileged attackers to inject arbitrary administrat
Scoold versions prior to 1.66.1 allow authenticated low-privilege users to delete any other user's feedback posts via an
Scoold versions prior to 1.66.2 allow authenticated low-privilege users to overwrite arbitrary existing questions by sub
Cross-origin request forgery in Erudika Scoold prior to 1.69.1 lets any attacker-controlled website issue credentialed A
Open redirect in Scoold, Erudika's Java-based Q&A and knowledge-sharing platform, affects every release prior to 1.69.1,
EUVD-2026-102313
NVD
CVE.org
EPSS
GitHub
Exploit-DB