Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-36401 PoC — Remote Code Execution (RCE) vulnerability in evaluating property name expressions in Geoserver

Source
Associated Vulnerability
Title:Remote Code Execution (RCE) vulnerability in evaluating property name expressions in Geoserver (CVE-2024-36401)
Description:GeoServer is an open source server that allows users to share and edit geospatial data. Prior to versions 2.22.6, 2.23.6, 2.24.4, and 2.25.2, multiple OGC request parameters allow Remote Code Execution (RCE) by unauthenticated users through specially crafted input against a default GeoServer installation due to unsafely evaluating property names as XPath expressions. The GeoTools library API that GeoServer calls evaluates property/attribute names for feature types in a way that unsafely passes them to the commons-jxpath library which can execute arbitrary code when evaluating XPath expressions. This XPath evaluation is intended to be used only by complex feature types (i.e., Application Schema data stores) but is incorrectly being applied to simple feature types as well which makes this vulnerability apply to **ALL** GeoServer instances. No public PoC is provided but this vulnerability has been confirmed to be exploitable through WFS GetFeature, WFS GetPropertyValue, WMS GetMap, WMS GetFeatureInfo, WMS GetLegendGraphic and WPS Execute requests. This vulnerability can lead to executing arbitrary code. Versions 2.22.6, 2.23.6, 2.24.4, and 2.25.2 contain a patch for the issue. A workaround exists by removing the `gt-complex-x.y.jar` file from the GeoServer where `x.y` is the GeoTools version (e.g., `gt-complex-31.1.jar` if running GeoServer 2.25.1). This will remove the vulnerable code from GeoServer but may break some GeoServer functionality or prevent GeoServer from deploying if the gt-complex module is needed.
Description
CVE-2024-36401-GeoServer Property 表达式注入 Rce woodpecker-framework 插件
Readme
# CVE-2024-36401-WoodpeckerPlugin
## 安装
下载源码执行
```bash
   mvn package 
```
将 target 下的jar包放在 [woodpecker-framework](https://github.com/woodpecker-framework/)  下的 plugin 文件夹中
不想自编译,可以直接下载 CVE-2024-36401-WoodpeckerPlugin-1.0-SNAPSHOT-all.jar 附件,放入 woodpecker-framework 下的 plugin 文件夹中


## 简介

![img.png](assets/img1.png)


## Poc探测
![img.png](assets/img2.png)

## Exp利用

poc探测完,右键发送到Exploit

![img.png](assets/img3.png)

在 command=xx,xx为执行的任意命令

![img.png](assets/img4.png)

## 内存马注入

doing 
File Snapshot

[4.0K] /data/pocs/b6b8ffc8d4df899cba8a270bcd7afe3dfe1ebef5 ├── [1.0K] assembly.xml ├── [4.0K] assets │   ├── [148K] img1.png │   ├── [179K] img2.png │   ├── [195K] img3.png │   └── [ 61K] img4.png ├── [3.4K] pom.xml ├── [ 633] README.md └── [4.0K] src └── [4.0K] main └── [4.0K] java └── [4.0K] me └── [4.0K] gv7 └── [4.0K] woodpecker └── [4.0K] plugin ├── [4.0K] exploits │   └── [7.7K] Exploit.java ├── [4.0K] pocs │   └── [8.5K] Poc.java ├── [4.0K] utils │   └── [1.5K] Utils.java ├── [1.3K] VulPluginInfo.java └── [ 746] WoodpeckerPluginManager.java 11 directories, 12 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →