CVE-2026-60965
Executive Summary
Severity: High (CVSS 8.1)
This report details CVE-2026-60965, a critical vulnerability in the Oracle HRMS (France) module of Oracle E-Business Suite. The flaw allows a low-privileged attacker with network access to compromise the confidentiality and integrity of all data within the French HR component. The vulnerability is classified as an improper authorization issue (CWE-284), enabling unauthorized data access and manipulation.
Business Impact: Organizations in France or those using the French localization of Oracle E-Business Suite for HR operations are directly at risk. This includes multinational corporations, government agencies, and any entity managing sensitive employee data (PII, payroll, benefits) through this module. The likely attacker is an insider threat (low-privileged user) or an external actor who has already gained a foothold in the network.
Urgency Assessment: Despite a CVSS score of 8.1 (High), the EPSS probability is 0.0%, indicating no observed exploitation in the wild as of the publication date. However, the ease of exploitation (low complexity, no user interaction) and the potential for complete data compromise warrant immediate attention. The absence of a public patch or workaround from Oracle elevates the risk for unmitigated systems.
Key Facts:
- Vendor: Oracle
- Affected Product: Oracle HRMS (France) within Oracle E-Business Suite
- Affected Versions: 12.2.3 through 12.2.15
- Attack Vector: Network-based, HTTP
- Privileges Required: Low
- Patch Status: None available as of 2026-07-22
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
| Metric | Value | Rationale |
|---|---|---|
| AV (Attack Vector) | Network | The vulnerability is exploitable remotely via HTTP. |
| AC (Attack Complexity) | Low | No special conditions or race conditions are required; the attack is straightforward. |
| PR (Privileges Required) | Low | The attacker needs a valid low-privileged account (e.g., a standard HR user). |
| UI (User Interaction) | None | The attack does not require any action from another user. |
| S (Scope) | Unchanged | The vulnerable component is the only one affected; the impact does not spread to other components. |
| C (Confidentiality) | High | Complete read access to all data within the French HR module is possible. |
| I (Integrity) | High | Complete write/delete access to all data within the French HR module is possible. |
| A (Availability) | None | The vulnerability does not affect system availability. |
Qualitative Severity: High (CVSS 8.1)
EPSS Interpretation: The EPSS score of 0.0% indicates that as of the report date, there is no evidence of active exploitation in the wild. This is typical for a newly published CVE. However, this score can change rapidly once exploit code or proof-of-concepts become available.
Historical Comparison: This vulnerability is similar in impact to other Oracle E-Business Suite authorization flaws, such as CVE-2022-21587 (CVSS 8.1, unauthorized data access in Oracle Web Applications Desktop Integrator) and CVE-2023-21912 (CVSS 8.1, unauthorized data access in Oracle MySQL Connectors). These CVEs share the same pattern of low-privilege network access leading to high data compromise.
Temporal & Environmental Considerations:
- Exploit Code Maturity: Not Defined (no known public exploit).
- Remediation Level: Official Fix (none available).
- Report Confidence: Confirmed.
- Environmental Score: Can be adjusted based on network segmentation and the sensitivity of the data stored in the French HR module. A fully segmented network with strict access controls would lower the environmental score.
Technical Deep Dive & Attack Mechanics
Root Cause Analysis: The vulnerability stems from a failure in the authorization logic within the French HR module of Oracle E-Business Suite. The application does not properly verify that a low-privileged user has the necessary permissions to access or modify specific HR data objects (e.g., employee records, salary information, organizational structures). This is a classic case of Insecure Direct Object Reference (IDOR) or Missing Function Level Access Control.
Step-by-Step Attack Mechanics:
- Authentication: The attacker authenticates to the Oracle E-Business Suite web interface using a low-privileged account (e.g., a standard HR assistant).
- Reconnaissance: The attacker identifies the specific HTTP endpoints and parameters used by the French HR module to query or modify data. These endpoints are typically RESTful or SOAP-based web services.
- Exploitation: The attacker crafts a malicious HTTP request to a sensitive endpoint (e.g.,
/hr/fr/employee/detailsor a similar API). The request includes parameters that reference a high-value data object (e.g.,employee_id=100for the CEO's record) or an administrative function (e.g.,action=update_salary). - Authorization Bypass: The server processes the request without verifying that the authenticated user has the
FR_HR_ADMINor equivalent role. The authorization check is either missing or incorrectly implemented. - Data Compromise: The server returns the requested sensitive data (Confidentiality impact) or performs the unauthorized modification (Integrity impact).
Attack Surface:
- Protocol: HTTP/HTTPS
- Ports: Typically 8000 (HTTP) or 8443 (HTTPS) for Oracle E-Business Suite.
- Interfaces: The web application's front-end and any exposed APIs for the French HR module.
Pre-conditions:
- Network access to the Oracle E-Business Suite server.
- A valid low-privileged user account for the application.
Why Standard Defenses May Fail:
- WAF: A Web Application Firewall (WAF) may not block the request because it appears to be a legitimate, authenticated request from a valid user. The malicious payload is in the parameters, not in the request structure.
- Network Segmentation: If the application is accessible from the internal network, an attacker who has already compromised a low-privileged account can exploit this vulnerability without needing to bypass external firewalls.
Vulnerable vs. Patched Code Analysis
Note: As no patch or specific code is available, this section provides a generalized analysis based on the vulnerability type.
Vulnerable Code (Pseudocode):
# Vulnerable endpoint: /hr/fr/employee/details
@app.route('/hr/fr/employee/details', methods=['GET'])
def get_employee_details():
user = get_current_user() # Authenticated user
employee_id = request.args.get('employee_id')
# MISSING: Authorization check to see if user has access to this employee
# The code directly queries the database without verifying user's role.
employee_data = db.query("SELECT * FROM employees WHERE id = ?", employee_id)
return jsonify(employee_data)
Patched Code (Hypothetical):
# Patched endpoint: /hr/fr/employee/details
@app.route('/hr/fr/employee/details', methods=['GET'])
def get_employee_details():
user = get_current_user() # Authenticated user
employee_id = request.args.get('employee_id')
# ADDED: Authorization check
if not user.has_role('FR_HR_VIEWER') and not user.is_manager_of(employee_id):
return jsonify({'error': 'Unauthorized'}), 403
employee_data = db.query("SELECT * FROM employees WHERE id = ?", employee_id)
return jsonify(employee_data)
What the Patch Changes: The patch adds a server-side authorization check before processing the request. It verifies that the authenticated user has the appropriate role (e.g., FR_HR_VIEWER) or a specific relationship to the data (e.g., manager of the employee).
Regression Considerations: Teams applying the patch must ensure that the new authorization logic does not break legitimate workflows. For example, a manager who previously could view their team's data must still be able to do so. Thorough testing of all user roles and data access patterns is required.
Timeline & Disclosure History
- CVE Publication Date: 2026-07-21T21:37:36.370Z
- Estimated Discovery: Unknown, but likely discovered through internal Oracle security research or a responsible disclosure program.
- Disclosure Process: The CVE was published by the NVD (National Vulnerability Database) as the CNA (CVE Numbering Authority). No vendor advisory or patch was released concurrently.
- Known Exploitation in the Wild: No known active exploitation as of 2026-07-22.
- CISA KEV Addition: Not listed on CISA's Known Exploited Vulnerabilities catalog as of the report date.
Threat Intelligence Context
Threat Actor Profile: This vulnerability is most likely to be exploited by:
- Insider Threats: A disgruntled or malicious employee with a low-privileged HR account seeking to exfiltrate or manipulate sensitive data.
- Nation-State Actors: APT groups targeting French government agencies or corporations for espionage purposes, using a compromised low-level account as a stepping stone.
- Ransomware Operators: While the vulnerability does not directly enable ransomware deployment, the ability to access and modify critical HR data could be used for extortion.
Attack Campaign Context: No specific campaigns are associated with this CVE at this time.
Geographic Targeting: Organizations operating in France or using the French localization of Oracle E-Business Suite are the primary targets.
Industry Verticals Most at Risk:
- Government (National and Local)
- Healthcare
- Finance and Banking
- Manufacturing
- Any multinational with a French subsidiary
Connection to Similar Vulnerabilities: This CVE is part of a long history of authorization bypass vulnerabilities in Oracle E-Business Suite. The pattern of low-privilege users gaining unauthorized access to sensitive data is a recurring theme, highlighting the complexity of role-based access control in large enterprise applications.
Exploitation & Lab Setup
Red Team Section
Lab Setup:
- Environment: Oracle E-Business Suite 12.2.3 (or any version in the 12.2.3-12.2.15 range) installed on a virtual machine (e.g., Oracle VM VirtualBox or VMware).
- Network: The VM should be on an isolated network segment accessible from the attacker's machine.
- Credentials: Create a low-privileged user account (e.g.,
hr_userwith theFR_HR_VIEWERrole, if available, or a standard user role).
Exploitation Walkthrough:
- Authenticate: Log in to the Oracle E-Business Suite web interface as
hr_user. - Identify Endpoint: Use a web proxy (e.g., Burp Suite) to intercept traffic while navigating the French HR module. Identify an endpoint that retrieves employee details, such as:
GET /OA_HTML/OA.jsp?OAFunc=FR_HR_EMPLOYEE_DETAILS&employeeId=101 - Craft Malicious Request: Modify the
employeeIdparameter to target a high-value employee (e.g., the CEO or an administrator):GET /OA_HTML/OA.jsp?OAFunc=FR_HR_EMPLOYEE_DETAILS&employeeId=1 - Send Request: Send the modified request.
- Observe Response: If the server returns the details of employee ID 1 without an authorization error, the vulnerability is confirmed.
Expected Output: The attacker receives the full employee record, including sensitive PII (name, address, social security number, salary, etc.).
Post-Exploitation: The attacker can:
- Exfiltrate all employee data.
- Modify salary information, job titles, or organizational structures.
- Create new user accounts with higher privileges.
- Use the compromised data for further social engineering attacks.
Blue Team Section
Detection:
- Log Entries: Look for unusual patterns in web server logs, such as a single user account accessing a large number of employee records in a short period, or accessing records of high-level executives.
- Network Traffic: Monitor for HTTP requests to sensitive HR endpoints with unusual or sequential
employeeIdparameters. - Endpoint Behavioral Indicators: The application may generate audit logs for unauthorized access attempts. Monitor for
403 Forbiddenerrors followed by successful access to the same resource, indicating a bypass attempt.
Indicators of Compromise (IOCs)
No confirmed IOCs available — the following patterns are illustrative of exploitation attempts:
| Type | Value | Description |
|---|---|---|
| HTTP Request Pattern | GET /OA_HTML/OA.jsp?OAFunc=FR_HR_EMPLOYEE_DETAILS&employeeId=1 |
Request to access a high-value employee record. |
| HTTP Request Pattern | POST /OA_HTML/OA.jsp?OAFunc=FR_HR_UPDATE_SALARY&employeeId=1&salary=999999 |
Request to modify a high-value employee's salary. |
| Source IP | [EXAMPLE — not a real IOC] | Anomalous IP address accessing HR functions. |
| User Agent | [EXAMPLE — not a real IOC] | Unusual user agent string (e.g., python-requests/2.28.0). |
| Log Entry | ORA-06550: line 1, column 7: PLS-00201: identifier 'FR_HR_ADMIN_PKG' must be declared |
Error indicating an attempt to call a privileged package. |
Detection Engineering
YARA Rule
rule CVE-2026-60965_Detection {
meta:
description = "Detects exploitation of CVE-2026-60965 in Oracle HRMS (France)"
author = "Valters IT Hub"
date = "2026-07-22"
reference = "https://www.valtersit.com/cve/cve-2026-60965"
strings:
$s1 = "OAFunc=FR_HR_EMPLOYEE_DETAILS" ascii wide nocase
$s2 = "OAFunc=FR_HR_UPDATE_SALARY" ascii wide nocase
$s3 = "employeeId=" ascii wide nocase
condition:
any of ($s1, $s2) and $s3
}
Sigma Rule (SIEM)
title: CVE-2026-60965 Oracle HRMS (France) Exploitation Detection
id: 96f032e2-97d4-449c-990c-28966cd7ae81
status: experimental
description: Detects exploitation attempts targeting CVE-2026-60965 in Oracle HRMS (France)
author: Valters IT Hub
date: 2026-07-22
references:
- https://www.valtersit.com/cve/cve-2026-60965
logsource:
category: webserver
product: apache
service: access_combined
detection:
selection:
cs-uri-query|contains:
- 'OAFunc=FR_HR_EMPLOYEE_DETAILS'
- 'OAFunc=FR_HR_UPDATE_SALARY'
condition: selection
falsepositives:
- Legitimate HR administrative activity for authorized employees
level: high
Suricata IDS Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2026-60965 - Oracle HRMS (France) Exploitation Attempt";
flow:to_server,established;
content:"OAFunc=FR_HR_EMPLOYEE_DETAILS"; http_uri;
content:"employeeId="; http_uri;
classtype:attempted-user;
sid:10000001;
rev:1;
)
Elastic (EQL) Query
// Elastic EQL query for endpoint/network detection
network where process.name == "httpd" and
url.path == "/OA_HTML/OA.jsp" and
url.query : "*OAFunc=FR_HR_EMPLOYEE_DETAILS*" and
url.query : "*employeeId=*"
Splunk SPL Query
index=web sourcetype=access_combined
| search uri_path="/OA_HTML/OA.jsp" uri_query=*OAFunc=FR_HR_EMPLOYEE_DETAILS* uri_query=*employeeId=*
| stats count by src_ip, user, uri_query
| where count > 100
Wazuh Rule
<group name="oracle_ebs,">
<rule id="100001" level="12">
<decoded_as>web</decoded_as>
<field name="url">\.*OAFunc=FR_HR_EMPLOYEE_DETAILS\.*</field>
<description>CVE-2026-60965: Oracle HRMS (France) Exploitation Attempt</description>
<mitre>
<id>T1190</id>
</mitre>
<options>no_full_log</options>
<group>pci_dss_6.5,</group>
</rule>
</group>
Remediation & Mitigation
Immediate Actions (0-24 hours)
- Patch: No patch is available. Monitor Oracle's security advisory page for updates.
- Compensating Controls:
- Network Segmentation: Isolate the Oracle E-Business Suite server on a separate VLAN with strict firewall rules. Only allow access from trusted IP ranges.
- WAF Rules: Deploy a Web Application Firewall (WAF) rule to block requests to sensitive HR endpoints from low-privileged user accounts. This is a temporary measure.
- Access Control Hardening: Review and tighten the roles and permissions of all low-privileged users. Temporarily disable accounts that do not require access to the French HR module.
Short-term (1-7 days)
- Configuration Hardening: Implement the principle of least privilege. Ensure that no user has more access than necessary.
- Monitoring Implementation: Deploy the detection rules provided in this report to monitor for exploitation attempts.
- Vulnerability Scanning: Use a vulnerability scanner (e.g., Nessus, Qualys) to identify all instances of Oracle E-Business Suite running affected versions.
Long-term
- Architecture Changes: Consider implementing a more granular authorization framework, such as attribute-based access control (ABAC), to replace the current role-based system.
- Security Control Improvements: Integrate the application with a centralized Identity and Access Management (IAM) solution for better audit and control.
- Developer Training: Educate developers on secure coding practices, specifically regarding authorization checks and the principle of least privilege.
Validation
- Manual Check: Log in as a low-privileged user and attempt to access a high-value employee record. The request should be denied.
- Automated Check: Use a script to send a series of requests to sensitive endpoints with different user roles and verify that only authorized users can access the data.
References & Resources
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-60965
- CVE.org: https://www.cve.org/CVERecord?id=CVE-2026-60965
- Vendor advisory: See Oracle's security advisory page for future updates.
- OSV: https://osv.dev/vulnerability/CVE-2026-60965 (if applicable)
- Related CWE: https://cwe.mitre.org/data/definitions/284.html
- MITRE ATT&CK: https://attack.mitre.org/techniques/T1190/
Report generated by Valters IT Hub Neural Engine v25 | 2026-07-22 | https://www.valtersit.com/cve/cve-2026-60965