🇰🇷 한글 설명
Netdata 에이전트에서 스트리밍 연결을 통해 임의의 명령을 실행할 수 있는 취약점입니다. 공격자가 조작된 registry_hostname을 포함한 데이터를 전송하여 알람이 발생할 경우, Netdata 프로세스 권한으로 악성 명령이 실행될 수 있습니다.
💡 쉬운 설명
모니터링 도구인 Netdata에 가짜 정보를 보내면, 시스템이 이를 처리하는 과정에서 해커가 원하는 명령을 자동으로 실행하게 됩니다. 이로 인해 해커가 해당 서버의 제어권을 획득할 위험이 있습니다.
🇺🇸 원문 (English)
Netdata is an open source option for real-time infrastructure monitoring and troubleshooting. An attacker with the ability to establish a streaming connection can execute arbitrary commands on the targeted Netdata agent. When an alert is triggered, the function `health_alarm_execute` is called. This function performs different checks and then enqueues a command by calling `spawn_enq_cmd`. This command is populated with several arguments that are not sanitized. One of them is the `registry_hostname` of the node for which the alert is raised. By providing a specially crafted `registry_hostname` as part of the health data that is streamed to a Netdata (parent) agent, an attacker can execute arbitrary commands at the remote host as a side-effect of the raised alert. Note that the commands are executed as the user running the Netdata Agent. This user is usually named `netdata`. The ability to run arbitrary commands may allow an attacker to escalate privileges by escalating other vulnerabilities in the system, as that user. The problem has been fixed in: Netdata agent v1.37 (stable) and Netdata agent v1.36.0-409 (nightly). As a workaround, streaming is not enabled by default. If you have previously enabled this, it can be disabled. Limiting access to the port on the recipient Agent to trusted child connections may mitigate the impact of this vulnerability.
📍 영향받는 시스템
Netdata agent v1.37 미만 버전 (v1.36.0-409 nightly 미만 포함)
⚔️ 공격 벡터
조작된 registry_hostname이 포함된 스트리밍 데이터를 Netdata 에이전트로 전송하여 알람 기능 유도
🛡️ 대응 방법
Netdata 에이전트를 v1.37(stable) 또는 v1.36.0-409(nightly) 이상으로 업데이트하거나 스트리밍 기능을 비활성화함
🔧 검증 코드
출력된 Netdata 버전을 확인하여 v1.37 미만인지 확인합니다.
netdata -V 2>/dev/null || dpkg -l | grep netdata