Skip to main content

FrontAccounting CVE-2026-80211

| EUVDEUVD-2026-67145 HIGH
Use of Password Hash With Insufficient Computational Effort (CWE-916)
2026-08-27 VulnCheck GHSA-hc7j-jf63-wgj6
8.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Identify FrontAccounting instance
  2. Delivery
    Exploit database access vector (SQLi or exposed port)
  3. Exploit
    Extract users table containing MD5 digests
  4. Execution
    Crack hashes offline with GPU/rainbow tables
  5. Impact
    Authenticate to FrontAccounting or credential-stuff external services

Vulnerability Assessment

Weakness
CWE
Exploitation Conditions

Exploitation requires prior read access to the FrontAccounting database or users table - the weak hashing cannot be exploited without first obtaining the stored digests through a separate attack vector such as SQL injection, a publicly exposed database port, backup file disclosure, or server-level compromise. All FrontAccounting deployments through 2.4.20 using the built-in authentication system are affected regardless of configuration; the codebase provides no option to enable stronger hashing. The AC:H rating reflects this prerequisite: direct unauthenticated remote password cracking is not possible without the database exfiltration step. Limiting factors include: the attacker must successfully breach the database layer first; weak or long unique passwords still require significant GPU time to crack even against unsalted MD5; and organizations enforcing unique per-service passwords limit downstream credential-stuffing impact.

Impact

The CVSS 4.0 vector (AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N) accurately characterizes the attack profile: high complexity (AC:H) because exploitation requires a prerequisite database access step, but high confidentiality impact (VC:H) because once the user table is obtained, all passwords are practically recoverable. MD5 processes billions of hashes per second on consumer GPUs, making even moderately complex passwords crackable within hours or days. No EPSS data was provided, and no CISA KEV listing exists, indicating no confirmed widespread active exploitation at time of analysis. The real-world risk is most acute in post-breach credential-stuffing scenarios - users who reuse FrontAccounting passwords on other services face compounded exposure. The risk is bounded by the AC:H prerequisite: unauthenticated direct remote cracking is not possible without first exfiltrating the database via a separate vulnerability. Organizations with adequate database perimeter controls reduce their exposure materially, but the underlying hash weakness remains a latent risk in any compromise.

Exploit ScenarioDerived

An attacker exploits a SQL injection flaw or misconfigured database exposure to extract FrontAccounting's users table, obtaining unsalted MD5 password digests for all accounts. Using hashcat in MD5 mode against a common-password wordlist or a precomputed rainbow table, the attacker recovers plaintext passwords for the majority of accounts within hours on consumer GPU hardware. The recovered credentials are then used to authenticate directly to FrontAccounting (gaining access to financial data) or submitted to credential-stuffing tools targeting other services where users have reused the same password.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 27, 2026

Unsalted MD5 password hashing in FrontAccounting through 2.4.20 renders every stored credential recoverable in minutes if the database is compromised. All authentication-related code paths - user creation, password updates, self-service password change, forgotten-password reset, and login verification - use raw md5() with no per-user salt, so identical passwords produce identical digests and the entire user table can be cracked en masse with rainbow tables or GPU-accelerated tools. No active exploitation (CISA KEV) has been identified, but the CVSS 4.0 score of 8.2 with VC:H reflects that a single database breach translates directly to full plaintext credential exposure across all accounts.

RemediationAI

No vendor-released patch has been identified at time of analysis. The definitive fix requires replacing all md5($password) calls in admin/users.php, admin/change_current_user_password.php, includes/current_user.inc, and the authentication function get_user_auth() with PHP's password_hash() (using PASSWORD_BCRYPT or PASSWORD_ARGON2ID) and password_verify() respectively; existing stored MD5 hashes must be invalidated and users forced to reset passwords on next login to ensure the legacy digests are purged. As a compensating control pending a code-level fix, restrict database access to localhost or a trusted application host via firewall rules or bind-address configuration - this does not eliminate the weak hashing but significantly reduces the risk of the user table being exfiltrated via a network-exposed database port. Additionally, enforcing strong, unique password policies and enabling multi-factor authentication (if supported by the deployment) increases cracking difficulty and limits the damage of any future compromise. Refer to the researcher's technical disclosure at https://github.com/geo-chen/oss/blob/main/FA.md#finding-2-unsalted-md5-password-hashing-in-frontaccounting for specific code locations.

Affected VersionsENISA

FrontAccounting 0 ≤2.4.20

Affected Packages

euvd frontaccounting no fix

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

FrontAccounting is a PHP-based open-source ERP and accounting application. CWE-916 (Use of Password Hash With Insufficient Computational Effort) identifies the root cause: MD5 is a fast, non-adaptive cryptographic hash designed for data integrity, not password storage. The vulnerability is pervasive across the codebase - admin/users.php passes md5($_POST['password']) to add_user() and update_user_password(), admin/change_current_user_password.php does the same for self-service changes, the forgotten-password path in includes/current_user.inc (confirmed at commit 9464a3f, line 79) hashes newly generated passwords identically, and authentication is performed via get_user_auth($loginname, md5($password)). The absence of per-password salts means two users with the same password share an identical digest, enabling a single precomputed rainbow table to attack the entire user table simultaneously. PHP's password_hash() and password_verify() - which provide bcrypt or Argon2 with automatic per-password salting and adaptive cost factors - are entirely absent from the codebase. The affected CPE is cpe:2.3:a:frontaccounting:frontaccounting:*:*:*:*:*:*:*:*.

Know when Frontaccounting 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 (VulnCheck) PRIMARY 8.2 HIGH
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.9 MEDIUM

AC:H reflects the required prerequisite database exfiltration step; C:H captures full plaintext password recovery; I:N and A:N because the hash weakness has no direct integrity or availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

FrontAccounting through 2.4.20 stores and verifies user passwords as unsalted MD5 digests. admin/users.php passes md5($_POST['password']) to add_user() and update_user_password(), admin/change_current_user_password.php does the same when a user changes their own password, the forgotten-password path in includes/current_user.inc hashes the newly generated password the same way, and authentication calls get_user_auth($loginname, md5($password)). The codebase applies no per-password salt and contains no call to password_hash(), password_verify() or any other adaptive hash, so identical passwords yield identical digests and an attacker who obtains the user table can recover plaintext passwords with precomputed lookup tables or high-rate GPU cracking.

Executive ViewAI

Why It Matters

FrontAccounting versions 2.4.20 and earlier store user passwords using unsalted MD5 hashing, allowing all credentials to be cracked in minutes if the database is accessed. A single database compromise immediately exposes plaintext-equivalent passwords for every user in the system, enabling attackers to impersonate any account and access all downstream business applications. This represents an enterprise-wide credential exposure risk affecting all FrontAccounting users and dependent systems.

Business Impact: High
Compensating Controls

Implement multi-factor authentication (MFA) requiring a second factor beyond passwords for all FrontAccounting access; restrict database access through network segmentation, enforce strong firewall rules, enable audit logging of all database connections, and encrypt data in transit using TLS and at rest using AES-256; monitor for unauthorized database access attempts and anomalous login patterns; enforce 16+ character alphanumeric passwords with complexity requirements; conduct daily database integrity checks for signs of unauthorized modification.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Low
niche open-source PHP ERP, limited enterprise deployment 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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
High

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2019-5720 CRITICAL POC
9.8 Jan 08

includes/db/class.reflines_db.inc in FrontAccounting 2.4.6 contains a SQL Injection vulnerability in the reference field

CVE-2026-40521 HIGH POC
8.7 Jun 29

Remote code execution in FrontAccounting before 2.4.20 lets an authenticated user abuse the attachment upload handler to

CVE-2018-7176 HIGH POC
8.8 Feb 16

FrontAccounting 2.4.3 suffers from a CSRF flaw, which leads to adding a user account via admin/users.php (aka the "add u

CVE-2014-3973 HIGH POC
7.5 Jun 05

Multiple SQL injection vulnerabilities in FrontAccounting (FA) before 2.3.21 allow remote attackers to execute arbitrary

CVE-2018-1000890 HIGH POC
7.5 Dec 28

FrontAccounting 2.4.5 contains a Time Based Blind SQL Injection vulnerability in the parameter "filterType" in /attachme

CVE-2026-40524 HIGH POC
7.2 Jun 29

SQL injection in FrontAccounting's get_gl_transactions() function lets authenticated users holding the SA_GLANALYTIC per

CVE-2026-40523 HIGH POC
7.2 Jun 29

SQL injection in FrontAccounting's Audit Trail report handler (reporting/rep710.php) lets authenticated users holding th

CVE-2026-40522 HIGH POC
7.1 Jun 29

SQL injection in FrontAccounting before 2.4.20 allows authenticated attackers to extract arbitrary database contents by

CVE-2020-21244 MEDIUM POC
4.9 Sep 30

An issue was discovered in FrontAccounting 2.4.7. Rated medium severity (CVSS 4.9), this vulnerability is remotely explo

CVE-2026-80210 HIGH
7.1 Aug 27

FrontAccounting 2.4.20 and earlier selectively enforces CSRF validation - tokens are generated for every rendered form b

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