🔍 CVE-2026-100394

6.5
CVSS Score
MEDIUM
2026-10-14
2026-10-14 16:17
✅ 완료

🇰🇷 한글 설명

Nezha Monitoring의 특정 버전에서 ServiceSentinel.worker가 서비스 상태를 확인하는 과정 중, 서비스가 삭제되었는지 재검증하지 않아 발생하는 nil 포인터 역참조 취약점입니다. RoleMember가 동시에 서비스를 삭제할 경우 gRPC 서버의 패닉을 유발하여 대시보드 프로세스 전체가 종료될 수 있습니다. 이 취약점은 데이터 유출이 아닌 서비스 가용성에 영향을 미칩니다.

💡 쉬운 설명

모니터링 도구에서 특정 서비스가 삭제되는 순간에 동시에 상태를 확인하려고 하면 프로그램이 갑자기 꺼지는 오류입니다. 이로 인해 관리 화면과 연결된 모든 기능이 일시적으로 중단될 수 있습니다.

🇺🇸 원문 (English)

Nezha Monitoring is a self-hostable, lightweight, servers and websites monitoring and O&M tool. From 2.2.7 until 2.2.11, ServiceSentinel.worker in service/singleton/servicesentinel.go checked an owned service under servicesLock and later dereferenced pointer-valued serviceStatusToday and serviceCurrentStatusData entries under serviceResponseDataStoreLock without revalidating that ServiceSentinel.Delete had not removed them. A RoleMember could concurrently report TCP or ICMP results through the member's own agent and delete the same owned service, causing a nil pointer dereference. Because the gRPC server had no recovery interceptor, the worker panic terminated the whole dashboard process and disrupted every tenant's web interface, REST API, and agent connections. The issue affects availability only and does not disclose or modify data. This issue is fixed in versions 2.2.11 and 2.3.0.

📍 영향받는 시스템

Nezha Monitoring versions 2.2.7 to 2.2.11

⚔️ 공격 벡터

RoleMember 권한을 가진 사용자가 서비스 삭제와 상태 보고를 동시에 수행하여 프로세스 패닉 유도

🛡️ 대응 방법

Nezha Monitoring을 버전 2.2.11 또는 2.3.0 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전 정보가 취약한 범위(2.2.7 ~ 2.2.11)에 해당하면 취약한 상태입니다.

Shell / Script
curl -s http://<target_ip>:<port>/version | grep -E '2.2.[7-9]|2.2.10|2.2.11'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Azure Monitor Agent