{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "versions": [
              {
                "introduced": "0"
              },
              {
                "fixed": "5.10.43"
              }
            ]
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "96372e558bdb1104a6bcea206a046b9c7910545e"
            },
            {
              "fixed": "d9302021472c3e7e23bac8c3d5fbec57a5f38f0c"
            }
          ],
          "repo": "https://github.com/invoiceninja/invoiceninja",
          "type": "GIT"
        }
      ]
    }
  ],
  "details": "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.",
  "id": "CVE-2024-55555",
  "modified": "2026-03-10T21:49:26.701732196Z",
  "published": "2025-01-07T17:15:30.503Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.synacktiv.com/advisories/invoiceninja-unauthenticated-remote-command-execution-when-appkey-known"
    },
    {
      "type": "FIX",
      "url": "https://github.com/invoiceninja/invoiceninja/commit/d9302021472c3e7e23bac8c3d5fbec57a5f38f0c"
    }
  ],
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ]
}