Skip to main content

SolidInvoice CVE-2026-46622

| EUVDEUVD-2026-36301 HIGH
Cleartext Storage of Sensitive Information (CWE-312)
2026-06-11 GitHub_M
8.1
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

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

Exploitation presupposes attacker-controlled database read access (modeled as PR:H), after which token reuse over the network is trivial (AV:N/AC:L) with full read/write API impact and no availability effect.

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
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

3
Patch available
Jun 11, 2026 - 21:02 EUVD
Source Code Evidence Fetched
Jun 11, 2026 - 20:22 vuln.today
Analysis Generated
Jun 11, 2026 - 20:22 vuln.today

DescriptionCVE.org

SolidInvoice is an open-source invoicing platform. Prior to version 2.3.17, API tokens used to authenticate all REST API requests are stored as plaintext strings in the api_tokens database table. Any attacker who obtains read access to the database - through SQL injection, a leaked backup, a misconfigured replica, or insider access - immediately obtains all API credentials for every user with no further effort. This issue has been patched in version 2.3.17.

AnalysisAI

Plaintext credential exposure in SolidInvoice open-source invoicing platform prior to 2.3.17 allows any actor with read access to the application database to harvest every user's REST API token directly from the api_tokens table. Because tokens are stored unhashed, secondary exposures such as SQL injection, stolen backups, replicated databases, or insider access become full account-takeover paths against the API. No public exploit is identified at time of analysis and the issue is not listed in CISA KEV, but the patch in 2.3.17 (commit 8645391) introduces HMAC-SHA256 token hashing keyed by SOLIDINVOICE_APP_SECRET.

Technical ContextAI

SolidInvoice is a Symfony/PHP-based invoicing application (CPE cpe:2.3:a:solidinvoice:solidinvoice). The flaw is a classic CWE-312 (Cleartext Storage of Sensitive Information): the ApiToken Doctrine entity persisted the raw token string returned by ApiTokenManager::generateToken() directly into the api_tokens table, and ApiTokenAuthenticator looked tokens up by exact-match on that plaintext column. The 2.3.17 fix introduces a dedicated ApiTokenHasher service that HMAC-SHA256-hashes tokens before persistence, a GeneratedApiToken DTO that surfaces the plaintext exactly once at creation, an ApiTokenRepository::findOneByPlaintext() method that hashes on lookup, and a Version20317 Doctrine migration that re-hashes existing rows so previously issued tokens keep working.

RemediationAI

Vendor-released patch: upgrade SolidInvoice to 2.3.17 or later (https://github.com/SolidInvoice/SolidInvoice/releases/tag/2.3.17), which ships the Version20317 migration that re-hashes existing rows in place so issued tokens keep working. After upgrading, operators should rotate SOLIDINVOICE_APP_SECRET to invalidate all existing API tokens and require users to regenerate them - note the side effect that this forces every API client to re-enroll. If immediate upgrade is not possible, compensating controls include restricting database connectivity so that only the application host can reach it (blocks leaked-credential reuse but does not help against SQLi), enforcing encrypted-at-rest backups with strict ACLs, auditing for unauthorized replicas, and proactively revoking and reissuing all API tokens via the management UI while monitoring api_tokens for unexpected reads. See advisory GHSA-qjfc-h39r-cgwq for full guidance.

CVE-2025-55580 MEDIUM POC
5.4 Aug 29

SolidInvoice version 2.3.7 is vulnerable to a stored cross-site scripting (XSS) issue in the Clients module. Rated mediu

CVE-2026-46489 HIGH
8.1 Jun 11

Stored cross-site scripting in SolidInvoice prior to 2.3.17 allows an authenticated administrator to upload a malicious

CVE-2026-61686 HIGH
7.5 Sep 04

PHP object deserialization in SolidInvoice's DataGrid LiveComponent prior to version 3.0.1 allows authenticated low-priv

CVE-2026-61608 MEDIUM
6.8 Sep 04

Invitation links in SolidInvoice prior to version 3.0.1 never expire because UserInvitation entities carry no expiry tim

CVE-2026-61688 MEDIUM
6.5 Sep 04

Cross-user API history disclosure in SolidInvoice prior to version 3.0.1 allows any authenticated company member to read

CVE-2025-9171 LOW POC
2.0 Aug 19

A security flaw has been discovered in SolidInvoice up to 2.4.0. Rated medium severity (CVSS 5.1), this vulnerability is

CVE-2025-9170 LOW POC
2.0 Aug 19

A vulnerability was identified in SolidInvoice up to 2.4.0. Rated medium severity (CVSS 5.1), this vulnerability is remo

CVE-2025-9169 LOW POC
2.0 Aug 19

A vulnerability was determined in SolidInvoice up to 2.4.0. Rated medium severity (CVSS 5.1), this vulnerability is remo

CVE-2025-9168 LOW POC
2.0 Aug 19

A vulnerability was found in SolidInvoice up to 2.4.0. Rated medium severity (CVSS 5.1), this vulnerability is remotely

CVE-2025-9167 LOW POC
2.0 Aug 19

A vulnerability has been found in SolidInvoice up to 2.4.0. Rated medium severity (CVSS 5.1), this vulnerability is remo

CVE-2026-61614 MEDIUM
5.9 Sep 04

SolidInvoice's REST API authenticator, in all versions prior to 3.0.1, silently accepts long-lived bearer tokens via a `

CVE-2025-55579 MEDIUM POC
5.4 Aug 29

SolidInvoice version 2.3.7 is vulnerable to a Stored Cross-Site Scripting (XSS) issue in the Tax Rates functionality. Ra

Share

CVE-2026-46622 vulnerability details – vuln.today

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