Skip to main content

Scoold EUVDEUVD-2026-102313

| CVE-2026-57183 MEDIUM
Improper Authentication (CWE-287)
2026-10-15 GitHub_M
6.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain app_secret_key or para_secret_key
  2. Exploit
    Forge JWT mapped to admin API_USER
  3. Execution
    Submit token to /api/config or /api/stats
  4. Impact
    Read 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

scoold < 1.69.1

Affected Packages

euvd scoold fix: 1.69.1

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

Vendor (GitHub_M) PRIMARY 6.1 MEDIUM
AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

1
Patch available
Oct 15, 2026 - 20:03 EUVD

DescriptionCVE.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

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche self-hosted open-source Q&A/knowledge platform, limited enterprise footprint
Data Quality
3 sources
Confidence: Low

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy