☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON 🐛 CWE-15
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-47297

CVE-2023-47297 Supply Chain Attack in Ncr
📅 PUBLISHED: 2025-06-23 00:00 UTC 🔄 UPDATED: 2026-08-12 09:02 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.44%
👁️
0.44% probability
11.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1562.001
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: 1.5.1
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-47297 is a critical settings manipulation vulnerability in NCR Terminal Handler v1.5.1. The flaw allows an attacker to modify system security auditing configurations and execute arbitrary commands, effectively bypassing security controls and compromising the integrity of the terminal environment. This vulnerability is particularly dangerous in point-of-sale (POS) and retail environments where NCR terminals are commonly deployed. No public proof-of-concept (PoC) or patch is currently available, making this a high-risk, unpatched threat.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to NPM, PyPI, Go, or Ruby ecosystems. It affects a proprietary NCR software component (Terminal Handler v1.5.1) used in retail and financial terminal systems. Organizations should treat this as a supply chain risk from the vendor NCR.

CVSS Breakdown & Threat Level

  • CVSS Score: 0.0 (No official CVSS vector assigned)
  • Threat Level: Critical (based on impact: arbitrary command execution + security control bypass)
  • Attack Vector: Likely network-based (local or remote depending on deployment)
  • Complexity: Low (settings manipulation suggests minimal authentication or authorization checks)
  • Impact: High (confidentiality, integrity, availability all at risk)

Deep Dive & Mechanics

The vulnerability resides in the settings management functionality of NCR Terminal Handler v1.5.1. The application fails to properly validate or sanitize user-supplied input when modifying configuration parameters. An attacker can craft a malicious request to alter system settings, including security auditing configurations (e.g., disabling audit logs, modifying event thresholds, or changing logging destinations). This manipulation can then be leveraged to execute arbitrary commands on the underlying operating system, likely through command injection or by modifying executable paths in the configuration.

The root cause is a lack of input validation and insufficient authorization checks in the settings API or UI. The attacker does not need to authenticate or can bypass weak authentication to exploit this.

Vulnerable vs. Patched Code

Since no patch is available, a direct code comparison is not possible. However, the vulnerable code likely resembles:

# Vulnerable pseudo-code
def update_setting(setting_name, setting_value):
    # No validation or sanitization
    config[setting_name] = setting_value
    save_config()
    # If setting_value contains shell metacharacters, command injection possible
    os.system(f"apply_setting {setting_name} {setting_value}")

A patched version would include:

# Patched pseudo-code
def update_setting(setting_name, setting_value):
    allowed_settings = ["audit_level", "log_retention", "timeout"]
    if setting_name not in allowed_settings:
        raise ValueError("Invalid setting")
    # Sanitize input
    setting_value = sanitize_input(setting_value)
    config[setting_name] = setting_value
    save_config()
    # Use safe API
    subprocess.run(["apply_setting", setting_name, setting_value], check=True)

Exploitation & Lab Setup

Red Team

  1. Reconnaissance: Identify NCR Terminal Handler v1.5.1 endpoints (e.g., https://target:8443/settings).
  2. Exploit: Send a crafted POST request to modify a security setting:
    POST /settings/update HTTP/1.1
    Host: target:8443
    Content-Type: application/json
    
    {
      "setting": "audit_enabled",
      "value": "false; cmd.exe /c whoami > C:\\temp\\output.txt"
    }
    
  3. Command Execution: The injected command executes, allowing arbitrary code execution.
  4. Persistence: Modify startup settings to maintain access.

Blue Team

  1. Detection: Monitor for unusual POST requests to /settings/update or similar endpoints.
  2. Honeypot: Deploy a fake NCR Terminal Handler instance to capture exploitation attempts.
  3. Network Segmentation: Isolate NCR terminals from untrusted networks.
  4. Logging: Enable verbose logging for all configuration changes and audit trail modifications.

Indicators of Compromise (IOCs)

  • Network: Unusual HTTP POST requests to /settings/update with JSON payloads containing shell commands.
  • File System: Modified configuration files (e.g., terminal_handler.conf) with unexpected values or command strings.
  • Process: Spawned child processes like cmd.exe, /bin/sh, or powershell.exe from the Terminal Handler process.
  • Registry (Windows): Changes to HKLM\SOFTWARE\NCR\TerminalHandler\Settings with suspicious values.
  • Logs: Missing or truncated audit logs, or logs showing configuration changes without proper authentication.

Detection Engineering

YARA Rule

rule CVE_2023_47297_NCR_Terminal_Handler_Settings_Manipulation {
    meta:
        description = "Detects attempts to exploit CVE-2023-47297 in NCR Terminal Handler v1.5.1"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-47297"
    strings:
        $s1 = "/settings/update" ascii wide nocase
        $s2 = "audit_enabled" ascii wide nocase
        $s3 = "cmd.exe" ascii wide nocase
        $s4 = "/bin/sh" ascii wide nocase
        $s5 = "powershell" ascii wide nocase
    condition:
        any of ($s1, $s2) and any of ($s3, $s4, $s5)
}

Sigma Rule

title: CVE-2023-47297 NCR Terminal Handler Settings Manipulation
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects exploitation attempts of CVE-2023-47297 via HTTP POST requests to /settings/update
author: Valters IT
date: 2025/04/10
logsource:
    category: webserver
    product: nginx
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/settings/update'
        cs-content-type: 'application/json'
    keywords:
        - 'audit_enabled'
        - 'cmd.exe'
        - '/bin/sh'
        - 'powershell'
    condition: selection and keywords
falsepositives:
    - Legitimate configuration changes by authorized administrators
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2023-47297 NCR Terminal Handler Settings Manipulation"; flow:to_server,established; content:"POST"; http_method; content:"/settings/update"; http_uri; content:"audit_enabled"; http_client_body; content:"cmd.exe"; http_client_body; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Disable remote access to NCR Terminal Handler v1.5.1 if not required. Restrict network access to trusted IPs only.
  2. Short-term: Implement a Web Application Firewall (WAF) rule to block POST requests to /settings/update with suspicious payloads.
  3. Long-term: Contact NCR for an official patch or upgrade to a newer version. If no patch is available, consider replacing the software.
  4. Compensating Controls: Enable strict input validation and sanitization at the application layer. Use application allowlisting to prevent unauthorized command execution.
  5. Monitoring: Continuously monitor for the IOCs listed above and alert on any matches.

Valters IT

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

NCR Terminal Handler
NCR v1.5.1
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-47297/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.