Vulnerability Description
Invoice Ninja before 5.10.43 allows remote code execution from a pre-authenticated route when an attacker knows the APP_KEY. This is exacerbated by .env files, available from the product's repository, that have default APP_KEY 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 APP_KEY is able to fully control a string passed to an unserialize function.
CVSS Score
HIGH
Related Weaknesses (CWE)
References
- https://github.com/invoiceninja/invoiceninja/commit/d9302021472c3e7e23bac8c3d5fb
- https://www.synacktiv.com/advisories/invoiceninja-unauthenticated-remote-command
FAQ
What is CVE-2024-55555?
CVE-2024-55555 is a vulnerability with a CVSS score of 8.8 (HIGH). Invoice Ninja before 5.10.43 allows remote code execution from a pre-authenticated route when an attacker knows the APP_KEY. This is exacerbated by .env files, available from the product's repository,...
How severe is CVE-2024-55555?
CVE-2024-55555 has been rated HIGH with a CVSS base score of 8.8/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2024-55555?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.