Kestrel
대시보드로 돌아가기
CVE-2025-24979MEDIUM· 5.5GHSA대응게시일: 2026. 09. 09.수정일: 2026. 09. 09.

LF Edge eKuiper: SSRF in External Service

위협 신호 · CVSS · EPSS · KEV

정기 패치· 높은 악용 신호 없음
CVSS
5.5medium

이론적 심각도 점수

EPSS

예측 데이터 없음

KEV
미등재

실측 악용 기록 없음

권장 대응 기한60일 이내CISA SSVC 기준

계획된 패치 주기 내 조치(60일 이내)

외부 노출· KEV 미등재 · 자동화 어려움 · 부분 영향 · 외부 노출

CVSS 벡터 · 메트릭

악용 경로
공격 벡터네트워크
공격 복잡도낮음
필요 권한높음
사용자 상호작용불필요
범위불변
영향
기밀성 영향높음
무결성 영향낮음
가용성 영향없음
버전별 점수
CVSS 3.15.5MODERATE
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:N

상세 설명

Summary

Server-side request forgery (SSRF) vulnerability in eKuiper allows an attacker with permissions to register external services or create rules to induce the eKuiper server to make requests to unintended network locations, such as internal services, loopback interfaces (localhost), or cloud metadata endpoints.

Details

Prior to v2.4.0, eKuiper external service registrations and HTTP invocations did not validate destination IP addresses. An attacker with access to the eKuiper management API could register an external service pointing to an internal address (such as http://127.0.0.1:9081 or other internal network services) and trigger queries using service functions (e.g. SELECT tsschemaless(...) FROM demo). This allows probing internal networks, leaking sensitive information (such as internal endpoints/credentials), or interacting with internal APIs accessible to the eKuiper host.

PoC

  1. Create an external service with an address pointing to an internal network / localhost:
text
1{
2 "interfaces": {
3 "tsschemaless": {
4 "address": "http://127.0.0.1:9081",
5 "protocol": "rest",
6 "options": {
7 "insecureSkipVerify": true,
8 "headers": {
9 "Accept-Charset": "utf-8"
10 }
11 },
12 "schemaless": true
13 }
14 }
15}
  1. Load it to eKuiper and create a rule invoking it, e.g.: SELECT tsschemaless("get", "/metadata/sources/yaml/mqtt", *) FROM demo.
  2. Run the rule. When data flows through the stream, the response from the internal service is retrieved and can be routed to an external sink or inspected.

Impact

Server-Side Request Forgery (SSRF) allowing unauthorized access / probing of internal network services.

Remediation & Patches

  • Upgrade to eKuiper >= 2.4.0: Starting with v2.4.0, SSRF protection (httpx.GetSSRFDialContext) is enabled by default across HTTP clients, blocking requests to private, loopback, link-local, multicast, and unspecified IP addresses.

Workarounds (for versions < 2.4.0)

If unable to upgrade immediately:

  1. Restrict Management API Access: Restrict access to the eKuiper REST API (port 9081) and CLI using network firewalls, reverse proxies, and authentication so only trusted administrators can create or update services and rules.
  2. Egress Network Filtering: Use firewall / iptables rules or container network isolation to block outbound requests from eKuiper to private subnets, loopback addresses, and cloud metadata endpoints (169.254.169.254).
  3. Audit Service Definitions: Regularly review registered external services (GET /services or bin/kuiper show services) to verify target hosts.

Notes for Users Upgrading to >= 2.4.0

  • In v2.4.0 and later, basic.enablePrivateNet in kuiper.yaml defaults to false (blocking private network access).
  • If a developer's deployment legitimately requires eKuiper to communicate with internal REST services or private networks, they can explicitly opt in by setting basic.enablePrivateNet: true (or via environment variable KUIPER__BASIC__ENABLEPRIVATENET=true). Ensure eKuiper's API is protected before enabling this setting.

Reported by Alexey Kosmachev, Bi.Zone

AI 심층 분석

공격 시나리오 · 재현 가능한 PoC 페이로드 · 즉시 적용 가능한 차단 패치를 한 번에 받아 보세요. 보안 운영팀이 그대로 점검·티켓팅에 쓸 수 있는 형태로 정리해 드립니다.