CVE-2026-80211
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.
- Score
- 8.2 high
- Published
- 2026-08-27
- Links
- NVD · cve.org · Report wrong data
Matched ports (1)
| Port | Package | Version | Status | Maintainer |
|---|---|---|---|---|
| finance/frontaccounting | frontaccounting | 2.4.20 | unaddressed | james@elstone.net |
Template for a VuXML entry
Range taken from the CVE record, check it before committing. make newentry in security/vuxml creates the vid.
<vuln vid="FIXME (make newentry)">
<topic>FIXME -- FIXME</topic>
<affects>
<package>
<name>frontaccounting</name>
<range><lt>FIXME</lt></range>
</package>
</affects>
<description>
<body xmlns="http://www.w3.org/1999/xhtml">
<p>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.</p>
</body>
</description>
<references>
<cvename>CVE-2026-80211</cvename>
<url>https://nvd.nist.gov/vuln/detail/CVE-2026-80211</url>
</references>
<dates>
<discovery>2026-08-27</discovery>
<entry>2026-10-26</entry>
</dates>
</vuln>