← Back to Feed CACHED · 2026-08-20 03:45:32 · CACHE_KEY CVE-2026-34311
CVE-2026-34311 · CWE-918 · Disclosed 2026-05-28

Vulnerability in the Oracle Hospitality OPERA 5 Property Services product of Oracle Hospitality Applications

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Someone left the master key card programmer plugged into the lobby kiosk

CVE-2026-34311 is an unauthenticated Server-Side Request Forgery (SSRF) in Oracle Hospitality OPERA 5 Property Services, the on-premise property management system used by hotels, resorts, and casino properties worldwide. The flaw lets a remote attacker with no credentials send crafted HTTP requests that the OPERA server will proxy on their behalf — reaching internal services, databases, and cloud metadata endpoints that should never be externally accessible. Oracle's own NVD description explicitly states the outcome is takeover of Oracle Hospitality OPERA 5 Property Services. Affected versions are 5.6.19.24, 5.6.22, 5.6.25.19, 5.6.27.6, and 5.6.28. The vulnerability was discovered by Alex Lee of PwC HK DarkLab and reported to Oracle on March 7, 2026, with a public patch released May 28, 2026.

Oracle's CRITICAL 9.8 rating is justified and, if anything, conservative in context. The CVSS vector — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — correctly reflects the zero-authentication, zero-interaction, network-reachable attack surface. Prior research (CVE-2023-21932) demonstrated that OPERA instances are routinely internet-exposed and trivially discoverable via Shodan. OPERA 5 sits at the nexus of PCI cardholder data, guest PII (passport numbers, loyalty profiles, billing addresses), and operational hotel systems. The only reason to shade the score down at all is the absence of confirmed in-the-wild exploitation and a low EPSS of 0.46%, but the technical writeup from DarkLab provides enough detail for a competent attacker to reproduce the chain.

"Unauthenticated SSRF in internet-facing hotel PMS — full takeover of guest and payment data."
02 · The Attack Path

5 steps from start to impact.

STEP 01

Discover exposed OPERA instance

The attacker scans for Oracle OPERA 5 web interfaces using Shodan dorks or Censys queries. Prior research by Kevin Beaumont demonstrated that OPERA deployments are routinely internet-facing and identifiable by distinctive HTTP headers and login page fingerprints. Many hotel properties expose OPERA directly for remote management or third-party integrations via OXI.
Conditions required:
  • OPERA 5 web interface reachable from the internet or attacker's network
Where this breaks in practice:
  • Some properties place OPERA behind a VPN or restrict access to property LAN only
  • Cloud-migrated properties running OPERA Cloud (SaaS) are not affected
Detection/coverage: Shodan/Censys queries for OPERA fingerprints; external attack surface management tools (e.g., Detectify, Assetnote) can enumerate these.
STEP 02

Send crafted SSRF request

The attacker sends an unauthenticated HTTP request to the vulnerable OPERA endpoint, embedding a URL pointing to an internal resource (e.g., cloud metadata service at 169.254.169.254, internal database ports, or admin interfaces). The OPERA server processes the request and fetches the attacker-specified URL server-side. No credentials or session tokens are required. The low attack complexity in the CVSS vector confirms no special timing, configuration, or race conditions are needed.
Conditions required:
  • Vulnerable OPERA 5 version (5.6.19.24, 5.6.22, 5.6.25.19, 5.6.27.6, or 5.6.28)
  • HTTP access to the vulnerable endpoint
Where this breaks in practice:
  • WAF rules inspecting outbound SSRF patterns (e.g., blocking requests to metadata IPs) may catch naive payloads
  • No public PoC exploit code currently available
Detection/coverage: WAF logs for outbound requests to internal/metadata IPs originating from OPERA; IDS signatures for SSRF patterns.
STEP 03

Pivot to internal services

Using the SSRF as a proxy, the attacker enumerates internal network services reachable from the OPERA server — including database listeners (Oracle DB typically on port 1521), internal APIs, cloud metadata endpoints (AWS/Azure/GCP), and other hotel systems connected via OXI integration. The SSRF effectively converts the OPERA server into an internal network scanner and relay. On cloud-hosted on-prem instances, metadata credentials can provide lateral movement into the cloud account.
Conditions required:
  • Internal services reachable from the OPERA server's network context
  • No egress filtering or network segmentation blocking OPERA from internal resources
Where this breaks in practice:
  • Microsegmented networks may limit what the OPERA server can reach
  • Cloud metadata service v2 (IMDSv2) mitigates credential theft via SSRF on AWS
Detection/coverage: Network flow logs showing unusual outbound connections from OPERA server to internal hosts or metadata IPs.
STEP 04

Exfiltrate guest data and payment information

With access to the OPERA database (directly or via harvested cloud credentials), the attacker extracts guest PII (names, passport numbers, addresses, loyalty data) and payment card tokens or cardholder data. Oracle OPERA's PA-DSS implementation stores card data with specific encryption controls, but a full system takeover — as Oracle describes the impact — implies the attacker can access decryption keys or tokenization systems. A single large hotel property may hold hundreds of thousands of guest records.
Conditions required:
  • Database credentials obtained via SSRF (metadata, config files, or direct DB access)
  • OPERA database contains active guest and payment records
Where this breaks in practice:
  • P2PE (point-to-point encryption) and tokenization via OPI may limit raw card data exposure
  • Database encryption at rest adds a layer if keys are stored separately
Detection/coverage: Database audit logs for bulk SELECT queries on guest/payment tables; DLP alerts for large data exfiltration from OPERA server.
STEP 05

Achieve full system takeover

Oracle's advisory explicitly states the vulnerability enables takeover of the OPERA instance. This implies the attacker can achieve arbitrary code execution or equivalent administrative control — potentially writing web shells, modifying reservation data, planting ransomware, or pivoting further into hotel operational technology (door locks, POS systems, HVAC connected via OXI). The integrity impact (I:H) means the attacker can modify billing, reservations, and audit trails.
Conditions required:
  • Successful exploitation of SSRF chain to RCE or admin access
Where this breaks in practice:
  • EDR on the OPERA server may detect web shell drops or anomalous process execution
  • Host-based IPS may flag exploitation attempts
Detection/coverage: EDR/AV alerts for web shell creation; file integrity monitoring on OPERA web directories; SIEM correlation of SSRF + privilege escalation indicators.
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNo confirmed active exploitation. Not listed on CISA KEV. No public reports of campaigns targeting this CVE as of August 2026.
Proof of conceptTechnical writeup published by Alex Lee at PwC DarkLab HK on June 1, 2026. No weaponized exploit code found in public repositories (GitHub, Exploit-DB, sploitus). DarkLab's writeup likely provides sufficient detail for reproduction.
EPSS0.00461 (0.46%) — low probability of exploitation in the next 30 days. However, EPSS underweights vertical-industry targets with high data value.
KEV statusNot listed on CISA Known Exploited Vulnerabilities catalog as of 2026-08-20.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — worst-case attack surface profile. Network-reachable, zero-auth, zero-interaction, full CIA impact. Scope is unchanged (impact limited to the vulnerable component's authority).
Affected versionsOracle Hospitality OPERA 5 Property Services: 5.6.19.24, 5.6.22, 5.6.25.19, 5.6.27.6, 5.6.28
Fixed versionsPatch available via Oracle Critical Security Patch Update (CSPU) May 2026. Specific patched version numbers not published by Oracle — apply the May 2026 CSPU bundle for OPERA 5.
Exposure dataPrior research (CVE-2023-21932) showed OPERA instances are Shodan-discoverable and frequently internet-exposed. Kevin Beaumont noted every Shodan-visible instance he checked was unpatched. Oracle OPERA 5 has ~3.12% market share in hotel PMS (6sense), with on-premise deployments concentrated at full-service hotels, resorts, and casino properties.
Disclosure date2026-05-28 (Oracle CSPU). Discovered 2026-03-05, reported 2026-03-07 by Alex Lee, PwC DarkLab HK.
Reporting researcherAlex Lee, PwC Hong Kong DarkLab. Same team previously disclosed CVE-2026-21966 and CVE-2026-21967 (XSS filter bypass + SSRF in OPERA).
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to CRITICAL (9.4/10)

The single most decisive factor is the zero-authentication, network-reachable attack surface against a system that is routinely internet-exposed and processes PCI cardholder data and mass guest PII. Oracle's own impact assessment — full system takeover — combined with prior research demonstrating trivial Shodan discoverability of unpatched OPERA instances leaves no room to downgrade the severity bucket.

HIGH Vulnerability existence and affected version range
HIGH CVSS vector accuracy and attack surface profile
MEDIUM Full takeover impact chain (Oracle states takeover but SSRF-to-RCE specifics are not public)
LOW Current in-the-wild exploitation status

Why this verdict

  • Zero-friction entry point: AV:N/AC:L/PR:N/UI:N — no authentication, no user interaction, no special configuration required. This is the most permissive attack surface profile possible.
  • Internet exposure is the norm, not the exception: Prior research on OPERA CVEs (CVE-2023-21932) demonstrated that OPERA instances are routinely internet-facing and trivially discoverable. The on-premise deployment model means patching depends on individual hotel IT teams, not a centralized SaaS operator.
  • Data value multiplier: OPERA 5 is the system of record for guest PII (passport numbers, addresses, loyalty data) and payment card processing. A breach triggers PCI DSS incident response, regulatory notification across multiple jurisdictions, and brand damage. A single large resort property may hold 500K+ guest records.
  • Role multiplier: OPERA 5 is deployed exclusively as the primary property management system — 100% of installs are in production hospitality roles handling regulated data. It is not a dev tool or optional component. The blast radius of a takeover is *mass data egress of PCI and PII data* plus *operational disruption* (reservations, check-in/out, billing). While OPERA is not in the canonical infrastructure high-value catalog (not a DC, hypervisor, or IdP), the *data-tier blast radius* — PCI cardholder data for an entire hotel chain — meets the 'mass data egress' threshold. The floor is HIGH; the zero-auth network attack surface pushes it to CRITICAL.
  • Technical writeup available: DarkLab's blog post provides enough context for a skilled attacker to reproduce the SSRF chain. The gap between writeup and weaponized exploit is narrow for SSRF vulnerabilities.

Why not higher?

The score is already CRITICAL. The 0.4-point reduction from 9.8 to 9.4 reflects the absence of confirmed in-the-wild exploitation, no KEV listing, and a very low EPSS score (0.46%), which collectively suggest the vulnerability is not yet under active mass exploitation. The Scope metric is Unchanged, meaning the blast radius is bounded to the OPERA server's own authority rather than breaking into adjacent security domains automatically.

Why not lower?

Downgrading to HIGH would require evidence that internet exposure of OPERA is rare (<1% of deployments), but prior Shodan research shows the opposite — these systems are routinely internet-facing. The zero-authentication requirement eliminates the most common friction point that justifies downgrades. The data value (PCI, PII) means even a single successful exploitation has regulatory and financial consequences that dwarf typical server compromises.

05 · Compensating Control

What to do — in priority order.

  1. Block internet access to OPERA 5 web interface immediately — Place OPERA behind a VPN, firewall allowlist, or reverse proxy that restricts access to authorized hotel staff and integration partners only. This eliminates the AV:N vector entirely. Deploy within 3 days per noisgate mitigation SLA for CRITICAL.
  2. Deploy WAF rules to block SSRF patterns — Configure WAF (e.g., ModSecurity, Cloudflare, F5 ASM) to inspect and block requests containing internal IP ranges (10.x, 172.16-31.x, 192.168.x, 169.254.169.254) in user-controllable parameters hitting OPERA endpoints. This is defense-in-depth, not a substitute for patching. Deploy within 3 days.
  3. Enforce IMDSv2 on cloud-hosted OPERA instances — If OPERA runs on AWS EC2, enforce IMDSv2 (token-required) to prevent SSRF-based metadata credential theft. Similar protections exist on Azure (managed identity with IMDS restrictions) and GCP. Deploy within 3 days.
  4. Enable database audit logging on OPERA's Oracle DB — Turn on fine-grained auditing for SELECT on guest profile and payment tables. This won't prevent exploitation but ensures you detect data exfiltration and can scope a breach. Configure within 3 days.
  5. Segment OPERA server network — Restrict the OPERA server's outbound network access to only the specific hosts and ports it needs (OXI integration endpoints, payment gateway, Oracle DB). Deny all other egress. This limits SSRF pivot capability.
What doesn't work
  • EDR alone — EDR on the OPERA server may catch post-exploitation (web shells, lateral movement) but will not detect or block the initial SSRF request, which is a legitimate-looking HTTP request processed by the application layer.
  • Network IDS/IPS with default rulesets — most IDS signature sets do not include Oracle OPERA-specific SSRF patterns. Generic SSRF signatures have high false-positive rates and are often tuned down.
  • Database encryption at rest (TDE) — transparent data encryption protects against disk theft but not against an attacker who has application-level or OS-level access to the database, as the decryption happens transparently for authorized connections.
06 · Verification

Crowdsourced verification payload.

Run this script on each OPERA 5 application server as a local administrator. It checks the installed OPERA version against the known-vulnerable list. Example: .\Check-CVE-2026-34311.ps1. No network access required.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#!/usr/bin/env pwsh
# Check-CVE-2026-34311.ps1
# Checks Oracle Hospitality OPERA 5 Property Services for CVE-2026-34311
# Run on the OPERA application server as local admin.
# Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN

$ErrorActionPreference = 'Stop'
$vulnerableVersions = @('5.6.19.24', '5.6.22', '5.6.25.19', '5.6.27.6', '5.6.28')

try {
    # Method 1: Check OPERA registry keys (common install path)
    $regPaths = @(
        'HKLM:\SOFTWARE\MICROS\OPERA',
        'HKLM:\SOFTWARE\Oracle\OPERA',
        'HKLM:\SOFTWARE\WOW6432Node\MICROS\OPERA',
        'HKLM:\SOFTWARE\WOW6432Node\Oracle\OPERA'
    )
    $operaVersion = $null
    foreach ($rp in $regPaths) {
        if (Test-Path $rp) {
            $operaVersion = (Get-ItemProperty -Path $rp -ErrorAction SilentlyContinue).Version
            if ($operaVersion) { break }
        }
    }

    # Method 2: Check OPERA config/version file if registry fails
    if (-not $operaVersion) {
        $configPaths = @(
            'C:\Micros\Opera\version.txt',
            'C:\Oracle\Opera\version.txt',
            'D:\Micros\Opera\version.txt',
            'D:\Oracle\Opera\version.txt'
        )
        foreach ($cp in $configPaths) {
            if (Test-Path $cp) {
                $content = Get-Content $cp -Raw
                if ($content -match '(\d+\.\d+\.\d+\.?\d*)') {
                    $operaVersion = $Matches[1]
                    break
                }
            }
        }
    }

    if (-not $operaVersion) {
        Write-Host 'UNKNOWN - Oracle OPERA 5 installation not detected on this host.'
        exit 2
    }

    Write-Host "Detected OPERA version: $operaVersion"

    if ($vulnerableVersions -contains $operaVersion) {
        Write-Host "VULNERABLE - OPERA version $operaVersion is affected by CVE-2026-34311."
        Write-Host 'ACTION: Apply Oracle CSPU May 2026 patch immediately.'
        exit 1
    } else {
        Write-Host "PATCHED - OPERA version $operaVersion is not in the known-vulnerable list."
        Write-Host 'NOTE: Verify the May 2026 CSPU was applied via Oracle patch inventory.'
        exit 0
    }
} catch {
    Write-Host "UNKNOWN - Error during check: $_"
    exit 2
}
07 · Bottom Line

If you remember one thing.

TL;DR
If you run Oracle Hospitality OPERA 5 Property Services on versions 5.6.19.24, 5.6.22, 5.6.25.19, 5.6.27.6, or 5.6.28, treat this as a drop-everything patch. Per the noisgate mitigation SLA for CRITICAL, you have 3 days to apply compensating controls — the highest-impact action is cutting internet access to the OPERA web interface behind a VPN or firewall allowlist, which kills the remote attack vector entirely. Per the noisgate remediation SLA, apply the Oracle CSPU May 2026 patch within 90 days, but given that these systems handle PCI cardholder data and guest PII, you should push the vendor patch into your next maintenance window — ideally this week. Coordinate with your hotel operations team on downtime scheduling; OPERA patching typically requires a property-level outage. If you do not run OPERA 5, this CVE is not relevant to your environment.

Sources

  1. NVD - CVE-2026-34311 Detail
  2. PwC DarkLab HK - Critical Unauthenticated SSRF in Oracle Opera PMS
  3. Cyber Security Agency of Singapore - Oracle Advisory
  4. Oracle CSPU May 2026
  5. 6sense - Oracle OPERA 5 Market Share
  6. Dark Reading - Hotels at Risk from Oracle Property Management Bug
  7. Rewterz - Oracle Patches 35 Critical Vulnerabilities
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.