☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Geoserver logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 5.3 🐛 CWE-862
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-27505

CVE-2025-27505 is a missing authorization vulnerability in GeoServer, an open-source server for sharing and editing geospatial data.
📅 PUBLISHED: 2025-06-10 14:52 UTC 🔄 UPDATED: 2026-09-23 20:31 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 1.15%
👁️
1.15% probability
28.8× above the median CVE
Tier: HIGH
30-day exploitation window · FIRST.org · updated daily
Country: United States License: Open Source
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-27505 is a missing authorization vulnerability in GeoServer, an open-source server for sharing and editing geospatial data. The flaw allows an unauthenticated attacker to bypass the default REST API security controls and access the REST API index page by appending a file extension (e.g., /rest.html instead of /rest). This exposes information about installed extensions and API endpoints, aiding reconnaissance for further attacks. The vulnerability has a CVSS score of 5.3 (Medium) and is trivial to exploit with no authentication required. Patches are available in versions 2.26.3 and 2.25.6, and a workaround exists by modifying the security configuration.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

GeoServer is a Java-based web application distributed as a WAR file or platform-specific binaries. The vulnerability does not directly affect package managers like NPM or PyPI, but organizations using containerized deployments (e.g., Docker images) should verify they are using patched versions. The official Docker image osgeo/geoserver should be updated to 2.26.3 or 2.25.6 or later.

CVSS Breakdown & Threat Level

  • CVSS Score: 5.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low (disclosure of installed extensions)
  • Integrity Impact: None
  • Availability Impact: None

Threat Level: Medium. The vulnerability is easy to exploit and provides reconnaissance value, but does not directly allow data modification or system compromise.

Deep Dive & Mechanics

The GeoServer REST API is secured by a filter that matches URL paths starting with /rest and its subpaths (e.g., /rest/workspaces). However, the filter does not account for file extensions. When a request is made to /rest.html, the path does not match the security filter pattern (which expects /rest or /rest/**), so the request bypasses authentication and authorization checks.

The REST API index page (/rest.html) returns an HTML page listing available API endpoints and installed extensions. This information can be used by an attacker to identify vulnerable or misconfigured components.

Root Cause: The security filter configuration in ${GEOSERVER_DATA_DIR}/security/config.xml uses path patterns that do not include file extensions. The default pattern is likely /rest,** which does not match /rest.html.

Vulnerable vs. Patched Code

Vulnerable Configuration (default):

<filter>
  <name>rest</name>
  <class>org.geoserver.security.filter.GeoServerSecurityFilter</class>
  <paths>/rest,/rest/**</paths>
</filter>

Patched Configuration (workaround or fixed version):

<filter>
  <name>rest</name>
  <class>org.geoserver.security.filter.GeoServerSecurityFilter</class>
  <paths>/rest.*,/rest/**</paths>
</filter>

The patched pattern /rest.* matches /rest.html, /rest.json, etc., ensuring the security filter is applied to all REST API requests regardless of file extension.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A vulnerable GeoServer instance (version < 2.26.3 or < 2.25.6)
  • Network access to the GeoServer web interface

Exploitation Steps:

  1. Reconnaissance: Identify GeoServer instances using Shodan or FOFA with the dork http.title:"geoserver".

  2. Access the REST API Index:

    curl -v http://target:8080/geoserver/rest.html
    
  3. Verify Vulnerability: The response should contain the string "Geoserver Configuration API" and "about/status" with a 200 status code.

  4. Information Gathering: The index page lists available API endpoints and installed extensions. For example:

    • /rest/about/status - System status
    • /rest/workspaces - Workspace information
    • /rest/layers - Layer information

Nuclei Template (provided):

id: CVE-2025-27505

info:
  name: GeoServer - Missing Authorization on REST API Index
  author: securitytaters
  severity: medium
  description: |
    GeoServer contains a missing authorization vulnerability that allows unauthorized access to the REST API Index page, potentially exposing sensitive configuration information.
  impact: |
    Unauthenticated users can access the GeoServer REST API Index page, potentially exposing sensitive configuration information and available API endpoints.
  remediation: |
    Upgrade to the latest GeoServer version that implements proper authorization checks for the REST API Index page.
  reference:
    - http://geoserver.org/
    - https://geoserver.org/vulnerability/2025/06/10/cve-disclosure.html
    - https://nvd.nist.gov/vuln/detail/CVE-2025-27505
  classification:
    epss-score: 0.00835
    epss-percentile: 0.7471
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 5.3
    cve-id: CVE-2025-27505
    cwe-id: CWE-862
    cpe: cpe:2.3:a:geoserver:geoserver:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    fofa-query: app="geoserver"
    shodan-query: http.title:"geoserver"
    vendor: osgeo
    product: geoserver
  tags: cve,cve2025,geoserver,misconfig,osgeo,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/rest.html"
      - "{{BaseURL}}/geoserver/rest.html"

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "Geoserver Configuration API"

      - type: word
        part: body
        words:
          - "about/status"

      - type: status
        status:
          - 200

Blue Team

Detection:

  • Monitor web server logs for requests to /rest.html, /rest.json, or similar paths with file extensions.
  • Alert on 200 responses to these paths from unauthenticated users.
  • Use the provided YARA and Sigma rules for detection.

Hunting:

  • Search for any successful requests to /rest.* that are not preceded by authentication.
  • Review GeoServer access logs for unusual patterns of API exploration.

Containment:

  • Apply the workaround immediately by modifying the security configuration.
  • If patching is not possible, restrict network access to the GeoServer web interface using a firewall or reverse proxy.

Indicators of Compromise (IOCs)

  • URL Paths: /rest.html, /rest.json, /rest.xml
  • HTTP Response Body: Contains "Geoserver Configuration API" and "about/status"
  • HTTP Status Code: 200
  • User-Agent: Any (no specific pattern)
  • Source IP: Any external IP making unauthenticated requests to these paths

Detection Engineering

YARA Rule

rule CVE_2025_27505_GeoServer_REST_Bypass {
    meta:
        description = "Detects attempts to exploit CVE-2025-27505 in GeoServer"
        author = "Valters IT"
        date = "2025-06-11"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-27505"
        hash = "4a0a00473045022100cdafa1e1d840f87d64d55e4f37d832d64e1c0be8d83ddebefa1799313a4aa8f90220664246456ae0b16332cf36ca38fd0c0e16fa06ae3f7699a4d8c1a9f9cc8c3a16"
    strings:
        $s1 = "Geoserver Configuration API" ascii wide nocase
        $s2 = "about/status" ascii wide nocase
    condition:
        all of them
}

Sigma Rule

title: GeoServer REST API Index Unauthorized Access
id: 8a7b3c2d-1e5f-4a6b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects unauthorized access to GeoServer REST API index page via file extension bypass
author: Valters IT
date: 2025/06/11
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-27505
    - https://geoserver.org/vulnerability/2025/06/10/cve-disclosure.html
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: GET
        cs-uri-stem|contains:
            - '/rest.html'
            - '/rest.json'
            - '/rest.xml'
        sc-status: 200
    condition: selection
falsepositives:
    - Legitimate authenticated users accessing the API index
level: medium
tags:
    - attack.t1190
    - cve.2025.27505

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-27505 GeoServer REST API Index Unauthorized Access"; flow:to_server,established; content:"GET"; http_method; content:"/rest.html"; http_uri; nocase; content:"Geoserver Configuration API"; http_server_body; nocase; content:"about/status"; http_server_body; nocase; classtype:attempted-recon; sid:10000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade GeoServer to version 2.26.3 or 2.25.6 (or later).
  2. Apply Workaround: If upgrade is not possible, modify ${GEOSERVER_DATA_DIR}/security/config.xml:
    • Change the paths for the rest filter to /rest.*,/rest/**
    • Change the paths for the gwc filter to /gwc/rest.*,/gwc/rest/**
    • Restart GeoServer.

Long-term Measures:

  • Implement a Web Application Firewall (WAF) to block requests to /rest.* without proper authentication.
  • Restrict network access to the GeoServer web interface using a VPN or firewall rules.
  • Regularly audit security configurations and apply patches promptly.
  • Monitor for similar path traversal or bypass vulnerabilities in other web applications.

Valters IT Signature


This report was generated by Valters IT DevSecOps AI. For questions, contact Secure Channels (Signal / Portal).

{/* [Security Hash: 3B289B0DA5FB9B0EB371D0D2] */}

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-27505/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.