최근 뉴스는 ksmbd 모듈에서 심각한 취약점이 확인되었습니다., SMB 프로토콜을 기반으로 하는 파일 서버 구현에 포함됨 리눅스 커널에 내장되어 있습니다.
오류 감지 원격으로 코드 실행 가능 커널 권한으로. 공격은 인증 없이 수행될 수 있으며 시스템에서 ksmbd 모듈이 활성화되는 것으로 충분합니다.
현재 정확한 세부 사항 취약점을 악용하는 데 사용되는 방법 아직 밝혀지지 않은 이 취약점은 개체에 대한 작업을 수행하기 전에 개체의 존재를 확인하지 못하여 이미 해제된(Use-After-Free) 메모리 영역에 액세스하여 발생하는 것으로만 알려져 있습니다.
취약점 세부 정보
이 취약점을 통해 원격 공격자는 영향을 받는 Linux 커널 설치에서 임의 코드를 실행할 수 있습니다. 이 취약점을 악용하기 위해 인증이 필요하지는 않지만 ksmbd가 활성화된 시스템만 취약합니다.특정 결함은 SMB2_TREE_DISCONNECT 명령 처리에 존재합니다. 문제는 개체에 대한 작업을 수행하기 전에 개체의 존재에 대한 유효성 검사가 부족하여 발생합니다. 공격자는 이 취약점을 악용하여 커널 컨텍스트에서 코드를 실행할 수 있습니다.
언급된다 문제는 다음과 관련이 있습니다. 기능에 있다는 사실 smb2_tree_disconnect(), 할당된 메모리가 해제되었습니다 ksmbd_tree_connect 구조에 대한 것이지만 그 이후에는 SMB2_TREE_DISCONNECT 명령이 포함된 특정 외부 요청을 처리할 때 포인터가 계속 사용되었습니다.
ksmbd에서 언급한 취약점 외에도, 덜 위험한 4가지 문제도 수정되었습니다.
- ZDI-22-1688 – 파일 속성 처리 코드에서 외부 데이터를 할당된 버퍼에 복사하기 전에 외부 데이터의 실제 크기를 확인하지 못하여 커널 권한으로 원격 코드 실행. 인증된 사용자만 공격을 수행할 수 있다는 사실로 인해 취약점의 위험이 완화됩니다.
- ZDI-22-1691 – SMB2_WRITE 명령 처리기에서 잘못된 입력 매개변수 확인으로 인한 커널 메모리 원격 정보 유출(공격은 인증된 사용자만 수행할 수 있음).
- ZDI-22-1687: SMB2_NEGOTIATE 명령 처리기에서 잘못된 리소스 릴리스로 인해 사용 가능한 시스템 메모리 고갈로 인한 원격 서비스 호출 거부(인증 없이 공격이 수행될 수 있음).
- ZDI-22-1689 – SMB2_TREE_CONNECT 명령 매개변수의 적절한 확인 부족으로 인한 원격 커널 오류로 인해 버퍼 영역에서 읽기가 발생합니다(공격은 인증된 사용자만 수행할 수 있음).
ksmbd 모듈을 사용한 SMB 서버 실행 지원은 버전 4.16.0부터 Samba 패키지에 포함되었습니다.
사용자 공간 SMB 서버와 달리 ksmbd는 성능, 메모리 소비 및 고급 커널 기능과의 통합 측면에서 더 효율적입니다. Ksmbd는 필요에 따라 Samba 도구 및 라이브러리와 통합되는 고성능 플러그 앤 플레이 Samba 확장으로 승격됩니다.
ksmbd 코드는 삼성의 전남재와 LG의 이현철이 작성했으며, Linux 커널의 CIFS/SMB2/SMB3 하위 시스템 관리자이자 팀의 오랜 구성원인 Microsoft의 Steve French가 유지 관리했습니다. Samba 및 Linux에서 SMB/CIFS 프로토콜 지원 구현에 크게 기여했습니다.
언급 할 가치가 있습니다. 커널 5.15부터 문제가 발생했습니다. 2021년 5.15.61월에 출시되었으며 5.18.18년 5.19.2월에 생성된 업데이트 2022, XNUMX 및 XNUMX에서 자동으로 수정되었습니다. 이 문제는 아직 CVE 식별자가 할당되지 않았기 때문에 문제를 해결하는 방법에 대한 정확한 정보는 아직 없습니다. 배포판의 문제.
마침내 당신이 있다면 그것에 대해 더 알고 싶어, 당신은 세부 사항을 확인할 수 있습니다 다음 링크에서.