Skip to main content
← All vulnerabilities
CVE-2024-55555

Invoice Ninja before 5.10.43 allows remote code execution from a pre-authenticated route when an attacker knows the APP_KEY.

Published
Last modified
published
Not listed in CISA KEV
1 Metasploit module, 1 proof of concept on GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • n/a n/a

    Version range not reported

References 4

GitHub · invoiceninja/invoiceninja

synacktiv.com

GitHub · rapid7/metasploit-framework

GitHub · Yucaerin/CVE-2024-55555