☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.8 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H 🐛 CWE-121
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-50234

CVE-2023-50234 Remote Code Execution in Hancom
📅 PUBLISHED: 2024-05-03 02:14 UTC 🔄 UPDATED: 2026-08-12 09:02 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.78%
👁️
0.78% probability
19.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1203
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 7.8
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
7.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-50234 is a stack-based buffer overflow vulnerability in Hancom Office Cell, a component of the Hancom Office suite used for spreadsheet processing. The flaw resides in the parsing of XLS files, where insufficient validation of user-supplied data length leads to a buffer overflow on the stack. An attacker can exploit this by convincing a user to open a malicious XLS file or visit a crafted web page, resulting in remote code execution in the context of the current process. With a CVSS score of 7.8, this vulnerability poses a significant risk to end-user systems, especially in environments where Hancom Office is deployed. No public proof-of-concept or patch is currently available, but the vulnerability has been disclosed via the Zero Day Initiative (ZDI-CAN-20386).

⚡ 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

CVSS Breakdown & Threat Level

  • CVSS Score: 7.8 (High)
  • Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
  • Attack Vector: Local (requires user interaction to open a malicious file)
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required
  • Scope: Unchanged
  • Confidentiality Impact: High
  • Integrity Impact: High
  • Availability Impact: High

Threat Level: High. Exploitation requires user interaction, but the impact is complete compromise of the affected system. The lack of a patch increases the risk for unpatched installations.

Deep Dive & Mechanics

The vulnerability is a classic stack-based buffer overflow (CWE-121) in the XLS file parser of Hancom Office Cell. When parsing a specially crafted XLS file, the parser copies user-supplied data into a fixed-size stack buffer without proper length validation. By providing an overly long value in a specific field (likely a cell value, formula, or record), an attacker can overwrite the return address and other stack data.

Technical Details:

  • Root Cause: The memcpy or similar function is used to copy data from the XLS file into a stack buffer of size N, but the length of the source data is not checked against N.
  • Exploitation: The attacker crafts an XLS file with a malicious record that contains a long string. When the parser processes this record, it overflows the stack buffer, overwriting the saved return address. The attacker can then redirect execution to a ROP chain or shellcode.
  • Process Context: The exploit runs in the context of the current user process (Hancom Office Cell), so it inherits the user's privileges.

Attack Vector:

  • The victim must open the malicious XLS file (e.g., via email attachment, download, or web page).
  • No additional privileges are required beyond user-level access.

Vulnerable vs. Patched Code

Since no patch is available, a direct code comparison is not possible. However, based on the vulnerability description, the vulnerable code pattern is:

// Vulnerable code (hypothetical)
void parse_xls_record(char *data, int len) {
    char buffer[256];
    // No length check
    memcpy(buffer, data, len);  // Stack overflow if len > 256
}

A patched version would include bounds checking:

// Patched code (hypothetical)
void parse_xls_record(char *data, int len) {
    char buffer[256];
    if (len > sizeof(buffer)) {
        // Handle error
        return;
    }
    memcpy(buffer, data, len);
}

Exploitation & Lab Setup

Red Team

Objective: Achieve remote code execution on a target running Hancom Office Cell.

Prerequisites:

  • Hancom Office Cell installed (any version).
  • Victim must open the malicious XLS file.

Steps:

  1. Craft Malicious XLS File: Use a tool like msfvenom or a custom Python script to create an XLS file with an oversized field in a record (e.g., a cell value or formula). The overflow should overwrite the return address with a pointer to shellcode.
  2. Deliver Payload: Send the file via email, social engineering, or host it on a malicious website.
  3. Trigger Exploit: When the victim opens the file, the overflow triggers, executing the shellcode.

Example Python Script (Conceptual):

import struct

# Shellcode (e.g., calc.exe for testing)
shellcode = b"\x90" * 100 + b"\xcc" * 4  # Replace with actual shellcode

# Craft XLS record with overflow
buffer_size = 256
overflow_data = b"A" * (buffer_size + 8)  # Fill buffer and overwrite return address
overflow_data += struct.pack("<I", 0x41414141)  # Overwritten return address (placeholder)
overflow_data += shellcode

# Write to file (simplified)
with open("malicious.xls", "wb") as f:
    f.write(overflow_data)

Note: This is a conceptual example. Actual exploitation requires precise knowledge of the stack layout and ASLR/DEP bypass techniques.

Blue Team

Detection & Response:

  • Monitor for Hancom Office crashes: Unexpected crashes of cell.exe or related processes may indicate exploitation attempts.
  • Analyze XLS files: Use static analysis tools to detect oversized records or anomalous structures.
  • Endpoint Detection: Deploy EDR rules to detect stack-based buffer overflow patterns (e.g., memcpy with large size).
  • User Awareness: Train users not to open untrusted XLS files.

Indicators of Compromise (IOCs)

  • File Hashes: (None publicly available; generate upon discovery)
  • Network Indicators: Outbound connections from cell.exe to unknown IPs (if shellcode connects back).
  • Process Anomalies: cell.exe spawning child processes (e.g., cmd.exe, powershell.exe).
  • Registry Changes: Unauthorized modifications to startup keys.
  • File System: Creation of new executable files in temporary directories.

Detection Engineering

YARA Rule

rule CVE_2023_50234_Hancom_XLS_Overflow {
    meta:
        description = "Detects malicious XLS files exploiting CVE-2023-50234"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-50234"
    strings:
        $xls_magic = { D0 CF 11 E0 A1 B1 1A E1 }  // OLE2 magic
        $long_record = /[\x00-\xff]{300,}/  // Record longer than 300 bytes
    condition:
        $xls_magic at 0 and #long_record > 0
}

Sigma Rule

title: Hancom Office Cell Stack Buffer Overflow Exploitation
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects potential exploitation of CVE-2023-50234 via process crash or anomalous behavior
author: Valters IT
date: 2025-04-10
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\cell.exe'
        CommandLine|contains: '*.xls'
    condition: selection
falsepositives:
    - Legitimate large XLS files
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2023-50234 Hancom XLS Exploit Attempt"; flow:to_server; content:"|D0 CF 11 E0 A1 B1 1A E1|"; depth:8; content:"|00 00 00 00|"; distance:0; within:4; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

  • No Patch Available: As of this report, Hancom has not released a patch. Monitor vendor updates.
  • Mitigation:
    • Disable automatic opening of XLS files from untrusted sources.
    • Use application sandboxing or virtualization for Hancom Office.
    • Implement endpoint protection with exploit prevention capabilities (e.g., ASLR, DEP, CFG).
    • Restrict execution of cell.exe via AppLocker or similar.
  • Workaround: Convert XLS files to a safer format (e.g., CSV) before opening.

Valters IT
Securing Digital Frontiers

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-50234/ · 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.