CVE-2024-55555: High severity invoice ninja vulnerability
Invoice Ninja before 5.10.43 allows remote code execution from a pre-authenticated route when an attacker knows the APPKEY. This is exacerbated by .env files, available from the product's repository, that have default APPKEY values. The route/{hash} route defined in the invoiceninja/routes/client.php file can be accessed without authentication. The parameter {hash} is passed to the function decrypt that expects a Laravel ciphered value containing a serialized object. (Furthermore, Laravel contains several gadget chains usable to trigger remote command execution from arbitrary deserialization.) Therefore, an attacker in possession of the APPKEY is able to fully control a string passed to an unserialize function.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2024-55555?
CVE-2024-55555 has a critical severity due to the potential for remote code execution.
How do I fix CVE-2024-55555?
To fix CVE-2024-55555, upgrade Invoice Ninja to version 5.10.43 or later.
What causes CVE-2024-55555?
CVE-2024-55555 is caused by the exposure of sensitive routes that allow remote code execution when the APP_KEY is known.
Who is affected by CVE-2024-55555?
Invoice Ninja versions prior to 5.10.43 are affected by CVE-2024-55555.
Can CVE-2024-55555 be exploited without authentication?
Yes, CVE-2024-55555 can be exploited without authentication if the attacker knows the APP_KEY.