Invoice Ninja before 5.10.43 allows remote code execution...
High severity
Unreviewed
Published
Jan 7, 2025
to the GitHub Advisory Database
•
Updated Jan 7, 2025
Description
Published by the National Vulnerability Database
Jan 7, 2025
Published to the GitHub Advisory Database
Jan 7, 2025
Last updated
Jan 7, 2025
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.
References