CVE-2025-30145
BaseFortify
Publication date: 2025-06-10
Last updated on: 2025-08-26
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| osgeo | geoserver | to 2.25.7 (exc) |
| osgeo | geoserver | From 2.26.0 (inc) to 2.26.3 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-835 | The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability in GeoServer involves the Jiffle scripting language, where malicious Jiffle scripts can contain infinite loops. These scripts can be executed as rendering transformations in WMS dynamic styles or as WPS processes. The infinite loops cause the script to run indefinitely, leading to excessive resource consumption and ultimately causing a denial of service (DoS) condition. The issue arises because Jiffle supports multiple loop constructs without proper limits on iterations. [1, 2]
How can this vulnerability impact me? :
The vulnerability can cause a denial of service by allowing malicious Jiffle scripts to run infinite loops, which exhaust system resources. This can make GeoServer unavailable or unresponsive, disrupting services that rely on it for sharing and editing geospatial data. Since the attack requires no privileges or user interaction and can be triggered remotely over the network, it poses a significant risk to availability. [2]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring GeoServer logs for unusually long-running Jiffle script executions or denial of service symptoms caused by infinite loops in rendering transformations or WPS processes. Since the issue involves infinite loops in Jiffle scripts, you can check for GeoServer versions prior to 2.27.0, 2.26.3, and 2.25.7, which are vulnerable. Specific commands are not provided in the resources, but you can verify the GeoServer version using commands like `geoserver --version` or by checking the application logs for errors related to Jiffle script execution. Additionally, monitoring system resource usage spikes during WMS dynamic styling or WPS process execution may indicate exploitation attempts. [2]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include upgrading GeoServer to version 2.27.0, 2.26.3, or 2.25.7 where the vulnerability is fixed. If upgrading is not immediately possible, disable WMS dynamic styling and, if the WPS extension is installed, disable the Jiffle process entirely to prevent execution of malicious scripts. Additionally, applying the patch from the jai-ext library that enforces a per-pixel limit on loop iterations (default 200) can help prevent infinite loops by throwing an exception when the limit is exceeded. [1, 2]