🔍 CVE-2026-82180

0.0
CVSS Score
UNKNOWN
2026-09-03
2026-09-03 16:41
✅ 완료

🇰🇷 한글 설명

Eclipse Arrowhead 5.0.0~5.2.1 버전에서 MQTT API 사용 시 인증서의 서명을 검증하지 않는 취약점이 발견되었습니다. 공격자가 위조된 X.509 인증서를 MQTT 메시지 페이로드에 담아 전송하면 시스템 운영자 권한을 탈취할 수 있습니다.

💡 쉬운 설명

인증서가 진짜인지 확인하는 절차를 건너뛰는 보안 구멍이 있습니다. 공격자가 가짜 신분증을 만들어 보내면 시스템이 이를 진짜 운영자로 착각하여 모든 권한을 넘겨줄 수 있습니다.

🇺🇸 원문 (English)

In Eclipse Arrowhead versions from 5.0.0 to 5.2.1 when the MQTT API is enabled with the certificate authentication policy, CertificateMqttFilter parses an X.509 certificate that the client sends inside the MQTT message payload (the authentication field of MqttRequestTemplate) and treats its Subject DN as the authenticated identity. The certificate is decoded with CertificateFactory.generateCertificate() but its signature is never verified and its issuer chain is never validated against any trust store. Authorisation is reduced to two string comparisons on attacker-supplied data: the DN-qualifier must equal "sy" or "op", and the cloud-name part of the CN must match the server's. Both values are public (the cloud name is in the server's own TLS certificate). An attacker who can publish to the MQTT broker can therefore mint a self-signed certificate with CN=Sysop.<cloud>.<org>.arrowhead.eu, dnQualifier=op, send it as the authentication field, and be authenticated as the cloud's system operator with isSysOp == true. This passes the downstream ManagementServiceMqttFilter (request.isSysOp() → allowed) and gives full management access over MQTT. The HTTP CertificateFilter is not affected — it reads the certificate from jakarta.servlet.request.X509Certificate, which Tomcat populates only after a successful mTLS handshake against the configured trust store.

📍 영향받는 시스템

Eclipse Arrowhead versions 5.0.0 to 5.2.1 (MQTT API enabled with certificate authentication)

⚔️ 공격 벡터

MQTT 브로커에 권한이 있는 공격자가 위조된 인증서가 포함된 MqttRequestTemplate 메시지를 발행함

🛡️ 대응 방법

Eclipse Arrowhead를 최신 보안 패치가 적용된 버전으로 업데이트하고 인증서 검증 로직을 강화해야 합니다.

🔧 검증 코드

설치된 Arrowhead 버전이 취약 범위인 5.0.0에서 5.2.1 사이에 해당하는지 확인합니다.

Shell / Script
echo '5.0.0 5.2.1' | xargs -I {} grep -r "Arrowhead" /path/to/project | grep -E '5\[0-2\]\.[0-3]'

💻 영향받는 소프트웨어

Apache Tomcat