🇰🇷 한글 설명
DDS 및 ROS 2 시스템의 PKCS#7 인증서 검증 구현 결함으로 인한 취약점입니다. 공격자가 유효한 인증서를 가진 악의적인 DDS 참여자를 생성하여 보안 DDS 데이터버스 시스템을 완벽하게 장악할 수 있습니다.
💡 쉬운 설명
DDS/ROS 2 시스템에서 인증서 검증이 제대로 되지 않는 보안 결함입니다. 공격자가 가짜 노드를 만들어 시스템에 침입하고 전체 제어 권한을 획득할 수 있습니다.
🇺🇸 원문 (English)
An attacker can arbitrarily craft malicious DDS Participants (or ROS 2 Nodes) with valid certificates to compromise and get full control of the attacked secure DDS databus system by exploiting vulnerable attributes in the configuration of PKCS#7 certificate’s validation. This is caused by a non-compliant implementation of permission document verification used by some DDS vendors. Specifically, an improper use of the OpenSSL PKCS7_verify function used to validate S/MIME signatures.
📍 영향받는 시스템
DDS 구현 및 ROS 2 보안 모드 (CycloneDDS, FastDDS, OpenDDS 등)
⚔️ 공격 벡터
PKCS#7 서명 검증 결함을 악용하여 유효한 인증서를 가진 악의적 DDS 노드 생성 및 데이터버스 장악
🛡️ 대응 방법
DDS 벤더 보안 업데이트 적용 및 OpenSSL PKCS7_verify 함수의 올바른 구현 확인
🔧 검증 코드
설치된 DDS 및 ROS 2 패키지 목록을 출력하며, 버전 정보를 확인하여 보안 패치 적용 여부를 판단합니다. 영향받는 패키지가 있으면 CVE 해결 버전으로 업그레이드 필요
dpkg -l 2>/dev/null | grep -E '(cyclone|fastdds|opendds|ros2)' | awk '{print $2,$3}'