🇰🇷 한글 설명
libIEC61850 1.6.2 미만 버전에서 MMS 데이터셋 참조 생성 시 인자 순서가 뒤바뀌는 취약점이 존재합니다. 이로 인해 초기화되지 않은 스택 버퍼를 읽어 발생하는 스택 버퍼 오버플로가 발생하며, 원격 공격자가 서버를 중단시킬 수 있습니다.
💡 쉬운 설명
특정 통신 프로토콜을 사용하는 장비에서 잘못된 데이터 처리 방식으로 인해 시스템이 멈출 수 있는 문제입니다. 해커가 원격에서 특수한 요청을 보내면 서버를 강제로 종료시킬 수 있습니다.
🇺🇸 원문 (English)
libIEC61850 is an open-source implementation of IEC 61850 client and server protocols including MMS, GOOSE, Sampled Values, and R-Session. Prior to 1.6.2, checkDataSetAccess reverses the source and destination arguments to StringUtils_copyStringToBuffer while constructing an MMS_ASSOCIATION_SPECIFIC dataset reference. The helper treats uninitialized dataSetRef[130] storage as a source string, causing strlen to read beyond the stack buffer, and then copies those bytes into the caller-owned listName buffer. A remote defineNamedVariableList request can crash servers that have dynamic dataset service enabled and a dataset access handler installed; the advisory also observes caller stack corruption but establishes denial of service as the primary impact. This issue is fixed in version 1.6.2.
📍 영향받는 시스템
libIEC61850 1.6.2 미만 버전
⚔️ 공격 벡터
원격에서 defineNamedVariableList 요청을 통한 공격
🛡️ 대응 방법
libIEC61850를 1.6.2 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전 정보가 1.6.2 미만인지 확인하여 취약 여부를 판단합니다.
dpkg -l | grep libiec61850 2>/dev/null || rpm -q libiec61850 2>/dev/null || echo 'Package not found'