Skip to main content

GYM One EUVDEUVD-2026-102307

| CVE-2026-55871 MEDIUM
SQL Injection (CWE-89)
2026-10-15 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with administrator account
  2. Exploit
    Inject SQL via search_name/search_email parameter
  3. Execution
    Exfiltrate user data and password hashes
  4. Impact
    Write file to disk if DB privileges allow

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated administrator session (PR:H) on a GYM One instance prior to version 1.4.1; the injection is reached specifically through the search_name or search_email GET parameters on admin/users/index.php, which are concatenated into the user-listing and pagination COUNT queries without prepared statements. Confidentiality impact (reading arbitrary tables including password hashes) applies unconditionally once that admin access exists. The additional filesystem-write capability is a further-limited condition that only applies when the underlying database account has sufficient privileges (e.g. the MySQL FILE privilege). The primary limiting factor is the admin-level authentication requirement, which narrows the realistic attacker population to insiders or those who have already compromised an admin account.

Impact

All provided signals point to a moderate, access-gated risk rather than an urgent, broadly-exploitable priority. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N, base 6.5) is network-reachable and low-complexity but explicitly requires high privileges (PR:H), which the description confirms as an authenticated administrator - so an attacker must already hold the highest application role before the flaw is reachable. No EPSS probability, no CISA KEV entry, and no public POC were provided in the input, so exploitation status is 'no public exploit identified at time of analysis'; there is also no SSVC decision block to evaluate. The signals are internally consistent (CVSS PR:H aligns with the 'authenticated administrator' description), so there is no network-vs-local or authentication conflict to flag. In practice this is a classic post-authentication SQL injection whose impact is bounded by trust already granted to an admin account; its value to an attacker is privilege/scope leverage (dumping password hashes for credential reuse, and conditional filesystem writes) rather than initial access. Net assessment: genuine but not high-urgency - worth patching promptly in multi-admin or hardened deployments where admin accounts are not fully trusted, but not a mass-exploitation candidate.

Exploit ScenarioDerived

An attacker holding (or abusing) an administrator session browses to admin/users/index.php and supplies a crafted search_name or search_email GET parameter containing SQL syntax. Because the parameter is concatenated into both the user-list query and the pagination COUNT query without prepared statements, the attacker extracts arbitrary table data such as user records and password hashes, and where the database account holds FILE/write privileges may write a file to disk. No public exploit code was identified in the provided data, though the injection is straightforward for anyone with admin access.

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

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

Alert me

AnalysisAIv1 – Oct 15, 2026

SQL injection in GYM One's administrative user-search endpoint (admin/users/index.php) allows an authenticated administrator to read arbitrary database tables - including user records and password hashes - and, where the underlying database account holds elevated privileges such as MySQL's FILE privilege, to write files onto the server filesystem. The flaw affects all GYM One releases prior to 1.4.1 and is reachable remotely through the search_name and search_email GET parameters, though it requires a valid administrator session (PR:H), which confines realistic exploitation to insiders or attackers who have already compromised an admin account. There is no public exploit identified at time of analysis, no indication of confirmed active exploitation (CISA KEV), and the vendor has released a fixed version, 1.4.1, so risk is best characterized as moderate and access-gated rather than urgent and broadly exploitable.

RemediationAI

Vendor-released patch: upgrade to GYM One 1.4.1, available from the project's release tag at https://github.com/mayerbalintdev/GYM-One/releases/tag/V1.4.1; the fixing change is visible in commit d3a0cf134f0ab3ac12aee7dca283b93c4290dcc4 and the issue is tracked in advisory GHSA-9j4g-cq35-8997. Because exploitation requires an administrator session, the highest-value interim controls are tightening who can reach admin/users/index.php - restrict the admin panel to a trusted management network or VPN, remove or disable dormant administrator accounts, and enforce strong unique credentials plus MFA for admin users, accepting that this reduces convenience for legitimate administrators. Given that arbitrary-table reads can expose password hashes, rotate all application user passwords and the database account credentials after patching if there is any chance the search fields were touched by an untrusted admin-level session. To blunt the filesystem-write escalation before upgrading, run GYM One's database connection under a least-privileged account that lacks the MySQL FILE privilege (and similar file-access grants); the trade-off is that any legitimate export or file-based feature relying on that privilege will stop working. A WAF or reverse-proxy rule that blocks SQL metacharacters (quotes, comment sequences, UNION keywords) in the search_name and search_email parameters offers a stopgap, but expect false positives on legitimate searches containing apostrophes or punctuation, and treat it as supplementary to patching rather than a substitute since the underlying string concatenation remains.

Affected VersionsENISA

GYM-One < 1.4.1

Affected Packages

euvd gym_one fix: 1.4.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

GYM One is an open-source PHP web application for gym management, identified in NVD CPE data as mayerbalintdev:gym-one. The vulnerability is a classic CWE-89 SQL injection: the admin user-listing page at admin/users/index.php concatenates the search_name and search_email GET parameters directly into SQL text, and the same unsanitized input is placed into both the main user-list query and the COUNT query used to drive pagination. Because no prepared statements or parameter binding are used, an attacker able to reach the page with an administrator session can break out of the intended string context and alter the query structure. Notably, the pagination COUNT query provides a second, easily overlooked injection point - sanitizing only the display query would not have closed the flaw. Successful injection permits UNION-style or boolean/stacked reads against other tables in the same schema, exposing user credentials and password hashes. Where the database connection runs with sufficient privileges (for example MySQL's FILE privilege), the same injection primitive can be leveraged to read or write files on the database host, escalating from data disclosure to potential server-side file manipulation. The upstream fix, tagged V1.4.1 and referenced by commit d3a0cf134f0ab3ac12aee7dca283b93c4290dcc4, addresses the issue in the 1.4.1 release line; the GitHub security advisory GHSA-9j4g-cq35-8997 documents the report.

Know when Gym One 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.5 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 6.5 MEDIUM

Network-reachable web form, low complexity, but reachable only by an authenticated administrator so PR:H; full data read gives C:H and conditional filesystem writes support 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
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

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

DescriptionCVE.org

GYM One is open-source gym management software for fitness centers, personal trainers, and sports clubs. Prior to 1.4.1, GYM One's admin/users/index.php concatenates the search_name and search_email GET parameters into both the user-list query and the COUNT query used for pagination without prepared statements. An authenticated administrator can inject SQL through either search field to read data from arbitrary tables, including user information and password hashes. Depending on database permissions, the same injection may also permit filesystem writes. This issue is fixed in version 1.4.1.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Rare
obscure single-developer open-source gym app, tiny real-world footprint
Data Quality
6 sources
Confidence: High

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.3%
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Total

Priority Score

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

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

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