CVE-2021-45918

7.5 HIGH

📋 TL;DR

This vulnerability in NHI's health insurance web service allows remote attackers to cause a heap-based buffer overflow by sending overly long input strings. This can lead to service termination without authentication, requiring a system restart to recover. Organizations using NHI's health insurance web service component are affected.

💻 Affected Systems

Products:
  • NHI Health Insurance Web Service Component
Versions: Specific versions not publicly disclosed in available references
Operating Systems: Unknown - likely web service platform dependent
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in the web service component's input validation mechanism

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service disruption requiring system restart, potentially leading to extended downtime of health insurance services.

🟠

Likely Case

Service termination and denial of service affecting health insurance web service availability.

🟢

If Mitigated

Minimal impact with proper input validation and length restrictions in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Attack requires sending specially crafted long input strings to vulnerable endpoints

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not specified in available references

Vendor Advisory: https://www.twcert.org.tw/tw/cp-132-6227-eaf49-1.html

Restart Required: Yes

Instructions:

1. Contact NHI for specific patch information 2. Apply vendor-provided security updates 3. Restart affected services 4. Verify service functionality

🔧 Temporary Workarounds

Input Length Restriction

all

Implement web application firewall or proxy rules to restrict input string length

# WAF rule example: Limit request body size
# nginx: client_max_body_size 1M;
# Apache: LimitRequestBody 1048576

Network Segmentation

linux

Restrict access to vulnerable service to trusted networks only

# Firewall rule example
iptables -A INPUT -p tcp --dport [service_port] -s [trusted_network] -j ACCEPT
iptables -A INPUT -p tcp --dport [service_port] -j DROP

🧯 If You Can't Patch

  • Implement strict input validation at application layer to reject overly long strings
  • Deploy web application firewall with buffer overflow protection rules

🔍 How to Verify

Check if Vulnerable:

Test by sending long input strings to service endpoints and monitoring for service disruption

Check Version:

Contact vendor for version verification method

Verify Fix Applied:

Test with same long input strings after patch - service should remain operational

📡 Detection & Monitoring

Log Indicators:

  • Unusually long request strings in web logs
  • Service restart events
  • Out of memory errors

Network Indicators:

  • Large HTTP POST/PUT requests to health insurance endpoints
  • Multiple connection attempts with long payloads

SIEM Query:

source="web_logs" AND (uri="*health_insurance*" OR uri="*nhi*") AND request_length>10000

🔗 References

📤 Share & Export