Snap에서 XNUMX개의 취약점이 발견되었으며 루트로 코드를 실행할 수 있습니다.

퀄스 공개 내가 식별한 뉴스 두 가지 취약점 (CVE-2021-44731 및 CVE-2021-44730) 스냅 제한 유틸리티에서, 루트 SUID 플래그와 함께 전송되고 snapd 프로세스에 의해 호출되어 스냅 패키지에 배포된 애플리케이션을 위한 실행 환경을 생성합니다.

블로그 포스트에서는 다음과 같이 언급하고 있습니다. 취약점을 통해 권한이 없는 로컬 사용자가 루트로 코드를 실행할 수 있습니다. 시스템에서.

첫 번째 취약점은 물리적 링크 조작 공격을 허용합니다.하지만 시스템 하드링크 보호를 비활성화해야 합니다(sysctl fs.protected_hardlinks를 0으로 설정).

문제 실행 파일의 위치를 ​​잘못 확인했기 때문입니다. snap-update-ns 및 snap-discard-ns 유틸리티 루트로 실행됩니다. 이 파일에 대한 경로는 /proc/self/exe의 자체 경로를 기반으로 sc_open_snapd_tool() 함수에서 계산되었으며, 이를 통해 디렉터리에 제한할 하드 링크를 만들고 snap-update-ns 및 snap에 대한 옵션을 넣을 수 있습니다. -discard-ns는 이 디렉토리에 있습니다. 하드 링크에서 시작될 때 root로 snap-confine은 현재 디렉토리에서 공격자가 대체한 snap-update-ns 및 snap-discard-ns 파일을 실행합니다.

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

Qualys 연구팀은 취약점을 확인하자마자 책임 있는 취약점 공개에 착수했고 공급업체 및 오픈 소스 배포판과 협력하여 이 새로 발견된 취약점을 발표했습니다.

두 번째 취약점은 경쟁 조건으로 인해 발생합니다. 기본 Ubuntu 데스크탑 구성에서 악용될 수 있습니다. Ubuntu Server에서 익스플로잇이 성공적으로 작동하려면 설치하는 동안 "추천 서버 스냅" 섹션에서 패키지 중 하나를 선택해야 합니다.

경쟁 조건 setup_private_mount() 함수의 매니페스트 인스턴트 패키지의 마운트 지점 이름 공간을 준비하는 동안 호출됩니다. 이 기능은 임시 디렉토리 "/tmp/snap.$SNAP_NAME/tmp"를 생성하거나 기존 디렉토리를 사용하여 스냅 패키지의 디렉토리를 링크 및 마운트합니다.

임시 디렉토리의 이름은 예측 가능하기 때문에 공격자는 소유자를 확인한 후 마운트 시스템을 호출하기 전에 해당 내용을 심볼릭 링크로 변경할 수 있습니다. 예를 들어, 임의의 디렉토리를 가리키는 /tmp/snap.lxd 디렉토리에 "/tmp/snap.lxd/tmp" 심볼릭 링크를 만들 수 있으며 mount() 호출은 심볼릭 링크를 따라 공간에 디렉토리를 마운트합니다. 이름의.

마찬가지로 /var/lib에 내용을 탑재하고 /var/lib/snapd/mount/snap.snap-store.user-fstab을 재정의하고 /etc 디렉토리를 패키지 네임스페이스 스냅에 탑재하여 라이브러리를 로드할 수 있습니다. /etc/ld.so.preload를 대체하여 루트 액세스에서.

관찰되는 것은 익스플로잇을 생성하는 것은 사소한 작업으로 밝혀졌습니다., snap-confine 유틸리티는 보안 프로그래밍 기술(snapd는 Go로 작성되었지만 C는 snap-confine에 사용됨)을 사용하여 작성되었기 때문에 AppArmor 프로필을 기반으로 보호하고 seccomp 메커니즘을 기반으로 시스템 호출을 필터링하고 마운트 네임스페이스를 사용합니다. 격리를 위해.

그러나 연구원들은 기능적 익스플로잇을 준비할 수 있었습니다. 시스템에 대한 루트 액세스 권한을 얻습니다. 익스플로잇 코드는 사용자가 제공된 업데이트를 설치한 후 몇 주 후에 릴리스됩니다.

마지막으로 언급할 가치가 있습니다.snapd 패키지 업데이트에서 문제가 수정되었습니다. Ubuntu 버전 21.10, 20.04 및 18.04용.

Snap을 사용하는 다른 배포판과 함께 Snapd 2.54.3이 출시되었습니다. 이 버전은 위의 문제 외에도 특별히 설계된 플러그인 패키지를 설치할 때 허용하는 또 다른 취약점(CVE-2021-4120)을 수정합니다. 임의의 AppArmor 규칙을 무시하고 패키지에 대해 설정된 액세스 제한을 우회합니다.

낮잠 그것에 대해 더 알고 싶은 관심, 세부 사항을 확인할 수 있습니다 다음 링크에서.


코멘트를 남겨주세요

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

*

*

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