Snap에서 루트 권한으로 코드를 실행할 수 있는 취약점을 발견했습니다.

취약점

이러한 결함을 악용할 경우 공격자가 민감한 정보에 무단으로 액세스하거나 일반적으로 문제를 일으킬 수 있습니다.

몇일 전에 Qualys는 심각한 취약점을 발견했다고 발표했습니다.e(이미 CVE-2022-3328로 분류됨) 스냅 제한 유틸리티에서, 루트 SUID 플래그와 함께 제공되며 스냅 형식 패키지로 배포되는 응용 프로그램의 실행 가능 환경을 형성하기 위해 스냅 프로세스에 의해 호출됩니다.

이 취약점은 권한이 없는 로컬 사용자가 Ubuntu의 기본 구성에서 루트로 코드를 실행할 수 있도록 허용한다고 합니다.

흥미롭게도 문제의 취약점은 지난 XNUMX월부터 스냅컨파인에서 유사한 취약점을 수정하는 과정에서 도입됐다.

CVE-2022-3328은 어떤 영향을 미칩니까?

Qualys는 보고서에서 snap-confine 취약점이 must_mkdir_and_open_with_perms() 함수의 경쟁 조건으로 인해 발생합니다. 소유자 확인 후 /tmp/snap.$SNAP_NAME 디렉토리를 심볼릭 링크로 교체하지 못하도록 보호하기 위해 추가되었지만 스팬 형식의 패키지에 대해 마운트 디렉토리를 바인딩하기 위해 마운트 시스템 호출이 호출되기 전에 추가되었습니다.

추가된 보안은 /tmp/snap.$SNAP_NAME 디렉토리가 존재하고 루트가 소유하지 않은 경우 임의의 이름을 가진 /tmp의 다른 디렉토리로 이름을 변경하는 것입니다.

이름 바꾸기 작업을 악용하여 /tmp/snap.$SNAP_NAME 디렉토리에서, 연구원들은 snap-confine이 디렉토리를 생성한다는 사실을 이용했습니다. 스냅 패키지의 내용에 대한 /tmp/snap.rootfs_x. mkdtemp() 이름의 "x" 부분을 임의로 선택하지만 "rootfs_x"라는 이름의 패키지는 통과할 수 있습니다. sc_instance_name_validate (즉, 아이디어는 $SNAP_NAME을 "rootfs_x"로 설정한 다음 이름 바꾸기 작업으로 /tmp/snap.rootfs_x 디렉토리가 스냅 시 루트에 의해 덮어쓰이게 됩니다).

동시 사용을 달성하기 위해 /tmp/snap.rootfs_xx에서 /tmp/snap.$SNAP_NAME 이름 바꾸기, 두 개의 snap-confine 인스턴스가 시작되었습니다.

첫 번째 인스턴스가 생성되자마자 /tmp/snap.rootfs_xx 프로세스가 차단되고 두 번째 인스턴스가 시작됨 패키지 이름이 rootfs_x인 경우 두 번째 인스턴스의 임시 디렉터리 /tmp/snap.$SNAP_NAME이 첫 번째 인스턴스의 /tmp/snap .rootfs_x(루트 디렉터리)가 됩니다.

이름 변경을 수행한 직후 두 번째 인스턴스가 실패했고 /tmp/snap.rootfs_x는 XNUMX월 익스플로잇에서와 같이 경쟁 조건 조작으로 대체되었습니다. 변경 후 실행 잠금이 첫 번째 인스턴스에서 제거되었고 공격자는 인스턴트 루트 디렉터리에 대한 모든 권한을 얻었습니다.

마지막 단계는 symlink /tmp/snap.rootfs_x/tmp를 생성하는 것이었습니다. 이는 sc_bootstrap_mount_namespace() 함수에서 실제 쓰기 가능한 디렉토리 /tmp를 파일 시스템의 임의의 디렉토리에 바인드하고 마운트하는 데 사용되었습니다. mount() 호출은 마운트 전에 심볼릭 링크를 따르기 때문입니다.. 이러한 마운팅은 AppArmor 제한에 의해 차단되지만 이 차단을 우회하기 위해 익스플로잇은 두 가지 취약점을 사용했습니다. multipathd의 헬퍼.

세 가지 취약점을 모두 성공적으로 악용하면 권한이 없는 사용자가 취약한 장치에 대한 루트 권한을 얻을 수 있습니다. Qualys 보안 연구원은 취약성을 확인하고 익스플로잇을 개발했으며 기본 Ubuntu 설치에 대한 전체 루트 권한을 얻었습니다. 

Qualys Threat Research Unit에서 취약점을 확인하자마자 책임 있는 취약점 공개에 참여하고 공급업체 및 오픈 소스 배포와 협력하여 새로 발견된 취약점을 발표했습니다. 

연구원들은 작동하는 익스플로잇을 준비할 수 있었습니다. 이는 Ubuntu Server 22.04에서 루트 액세스를 제공하며, snap-confine 취약성 외에도 권한 있는 명령을 전달할 때 권한을 우회하는 것과 관련된 multipathd 프로세스(CVE-2022-41974, CVE-2022-41973)의 두 가지 취약성이 포함됩니다. 심볼릭 링크의 안전하지 않은 처리.

언급 할 가치가 있습니다. 이 문제는 스냅 2.57.6 릴리스에서 수정되었습니다. 또한 지원되는 모든 Ubuntu 브랜치에 대한 패키지 업데이트가 릴리스되었습니다.

마지막으로, 그것에 대해 더 알고 싶다면 자세한 내용을 참조하십시오. 다음 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.