메인 콘텐츠로 건너뛰기
블로그 안전 Linode 보안 다이제스트 2023년 1월 21일 – 28일

리노드 보안 다이제스트 2023년 1월 21일 – 28일

리노드 시큐리티 다이제스트

이번 주 다이제스트에서 우리는 다음에 대해 논의 할 것입니다 :

  • Sudoedit가 임의의 파일을 편집하는 방법;
  • 드루팔 및 Git 보안 권고; 그리고 
  • HAProxy의 서비스 거부 취약점.

Sudoedit는 임의의 파일을 편집 할 수 있습니다.

CVE ID: CVE-2023-22809

Sudo는 시스템 관리자가 선택한 사용자에게 루트로 명령을 실행할 수있는 기능을 제공 할 수있는 프로그램입니다. 시낙티브는 이 취약점을 발견했습니다. sudoers 정책 우회 문제로 인해 sudoedit를 사용하여 권한이 없는 파일을 편집하여 권한 에스컬레이션이 발생할 수 있습니다. 영향을 받는 Sudo 버전 범위는 1.8.0에서 1.9.12p1까지입니다.

sudoedit를 사용하는 동안 사용자는 SUDO_EDITOR, VISUAL편집기와 같은 환경 변수를 사용하여 편집 사용자를 선택합니다. 이러한 변수의 내용은 sudo_edit() 함수에 전달된 실제 명령을 확장합니다. "" 인수는 편집할 파일 목록을 결정해야 합니다. 그러나 권한이 부여된 환경 변수에 추가 "" 인수를 삽입하면 이 목록이 변경되고 대상 사용자의 권한이 있는 다른 파일을 편집하여 권한 에스컬레이션이 발생할 수 있습니다.

탐지

이 취약점은 /etc/ sudoers 파일에 나열된 /etc/custom/service.conf와 같이 편집 권한이 부여된 파일을 가진 사용자로 다음 명령을 실행하여 탐지할 수 있습니다.

$ cat /etc/sudoers
user ALL=(ALL:ALL) sudoedit /etc/custom/service.conf
[...]

$ EDITOR='vim -- /etc/passwd' sudoedit /etc/custom/service.conf

완화

패치된 버전으로 업그레이드하는 것 외에도 sudoedit를 사용할 때 영향을 받는 환경 변수를 env_delete 거부 목록에 추가하여 취약성을 완화할 수도 있습니다.

Defaults!SUDOEDIT            env_delete+="SUDO_EDITOR VISUAL EDITOR"
Cmnd_Alias SUDOEDIT = sudoedit /etc/custom/service.conf
user                                              ALL=(ALL:ALL) SUDOEDIT

드루팔 보안 권고

Drupal은 여러 제품에 영향을 미치는 취약성을 해결하기 위해 보안 권고를 발표했습니다. 공격자는 이 취약성을 악용하여 중요한 정보에 액세스할 수 있습니다. CISA는 사용자와 관리자가 다음 Drupal 보안 권고를 검토하고 필요한 업데이트를 적용할 것을 권장합니다.

드루팔 코어 – 정보 공개

보안 권고 코드: SA-CORE-2023-001

콘텐츠 편집 권한이 있는 사용자는 미디어 라이브러리 모듈의 부적절한 엔터티 액세스 검사로 인해 액세스 권한이 없는 미디어 항목의 메타데이터를 볼 수 있습니다. 액세스할 수 없는 미디어는 미디어 참조 필드를 포함하여 콘텐츠를 이미 편집할 수 있는 사용자에게만 표시되므로 취약성 완화가 가능합니다. 

9.4.x 이전의 Drupal에 관계없이 Drupal 10.0.2, Drupal 9.5.2 및 Drupal 9.4.10을 포함한 최신 버전으로 업데이트하는 것이 좋습니다.

엔터티 브라우저 – 정보 공개

보안 공지 코드: SA-CONTRIB-2023-002

사용자는 Entity Browser 모듈의 사용자 지정 엔터티 브라우저 위젯을 사용하여 엔터티 참조 필드에서 엔터티를 선택할 수 있습니다. 이 취약점을 통해 콘텐츠를 편집할 수 있는 액세스 권한이 있는 사용자는 모듈이 엔터티 액세스를 제대로 확인하지 않으므로 액세스 권한이 없는 엔터티의 메타데이터를 볼 수 있습니다. 이 취약성은 액세스할 수 없는 엔터티가 Entity Browser를 사용하여 이미 콘텐츠를 편집할 수 있는 사용자에게만 표시된다는 사실로 완화할 수 있습니다. 이 취약성을 해결하려면 Drupal 9 또는 10용 엔터티 브라우저 모듈을 사용하는 경우 엔터티 브라우저를 버전 8.x-2.9로 업그레이드합니다.

미디어 라이브러리 블록 – 정보 공개

보안 권고 코드: SA-CONTRIB-2023-003

미디어 라이브러리 블록 모듈을 사용하면 사용자가 블록에서 미디어 엔터티를 렌더링할 수 있습니다. 모듈의 부적절한 미디어 액세스 검사로 인해 제한된 미디어 항목이 포함된 블록이 페이지에 있는 경우 사용자가 액세스 권한이 없는 미디어를 볼 수 있습니다. 액세스 제한이 있는 미디어 항목을 참조하는 블록을 제거하여 이러한 무단 액세스를 완화합니다.   Drupal 9 또는 10용 미디어 라이브러리 블록 모듈을 사용하는 경우 버전 1.0.4로 업그레이드하여 문제를 해결하는 것이 좋습니다.

미디어 라이브러리 양식 API 요소 – 정보 공개

보안 권고 코드: SA-CONTRIB-2023-004

미디어 라이브러리 양식 API Element 모듈을 사용하면 사용자가 미디어 라이브러리 위젯 없이 사용자 지정 양식으로 미디어 라이브러리를 사용할 수 있습니다. 모듈의 부적절한 엔터티 액세스 검사로 인해 콘텐츠 편집 액세스 권한이 있는 사용자는 액세스 권한이 없는 미디어 항목의 메타데이터를 볼 수 있습니다.  미디어 참조 필드가 포함된 콘텐츠를 이미 편집할 수 있는 사용자만 액세스할 수 없는 미디어를 볼 수 있도록 하여 취약성을 완화합니다. 미디어 라이브러리 양식 API 요소 모듈 버전 8.x-1.* 또는 Drupal 9 또는 10의 경우 2.x인 경우 모듈을 버전 2.0.6으로 업그레이드하는 것이 좋습니다.

Git 보안 권고

Git의 소스 코드에 대한 보안 감사에서 공격자가 힙 기반 버퍼 오버플로 약점을 성공적으로 악용한 후 임의 코드를 실행할 수 있는 두 가지 치명적인 심각도를 포함하여 몇 가지 취약점이 밝혀졌습니다. 두 치명적인 취약점 모두 Git 버전 v2.30.7, v2.31.6, v2.32.5, v2.33.6, v2.34.6, v2.35.6, v2.36.4, v2.37.5, v2.38.3 및 v2.39.1에서 패치됩니다.

RCE로 이어지는 'git 아카이브', 'git log –format'의 힙 오버플로

CVE ID: CVE-2022-41903

git log–format 지정자를 사용하여 임의의 형식으로 커밋을 표시할 수 있습니다. export-subst gitattribute가 있는 git 아카이브에도 이 기능이 있습니다. 패딩 연산자가 처리되면 size_t 변수가 pretty.c format_and_pad_commit() 함수에서 int로 잘못 저장된 다음 다음 memcpy() 호출에 오프셋으로 추가됩니다. 공격자는 git log –format=...을 실행하여 커밋 형식을 호출하거나 파일의 형식 지정자를 확장하는 export-subst 속성과 함께 git 아카이브를 실행하여 오버플로를 시작할 수 있습니다. 정수 오버플로는 임의의 코드를 메모리에 기록하여 원격 코드를 실행할 수 있습니다.

해결 방법

Git을 최신 버전으로 업그레이드하여 취약점을 완전히 수정하는 것이 좋습니다. 업그레이드가 적용되지 않는 경우 사용자는 신뢰할 수 없는 리포지토리에서 git archive 를 실행해서는 안 됩니다. git 아카이브 가 git 데몬을 통해 노출되면 git config –global daemon.uploadArch false 를 실행하여 명령을 비활성화합니다.

정수 오버플로를 구문 분석하는 gitattributes

CVE ID: CVE-2022-23521

Git을 사용하면 패턴과 일치하는 파일에 대해 설정해야 하는 파일 패턴 및 속성 집합이 포함된 리포지토리에 . gitattributes 파일을 추가하여 경로에 대한 속성을 정의할 수 있습니다. 몇 가지 조건으로 인해 속성을 구문 분석할 때 정수 오버플로가 발생할 수 있습니다.

  • 과도한 수의 경로 패턴이있을 때;
  • 단일 패턴에 대해 수많은 속성이있는 경우;
  • 선언된 특성의 이름이 광범위할 때.

오버플로는 제작된 . gitattributes 파일이 커밋 기록의 일부일 때 트리거될 수 있습니다. 2KB보다 긴 줄은 파일에서 gitattribute를 구문 분석할 때 자동으로 분할되지만 인덱스에서는 분할되지 않습니다. 따라서 파일이 인덱스, 작업 트리 또는 둘 다에 있을 때 오류가 발생할 수 있습니다. 이 취약점으로 인해 임의의 헤드 읽기 및 쓰기가 발생하여 원격 코드가 실행될 수 있습니다.

해결 방법

적용 가능한 해결 방법이 게시되지 않았습니다. 유일한 해결 방법은 Git을 나열된 최신 패치 버전으로 업그레이드하는 것입니다.

HAProxy의 서비스 거부 취약점

CVE ID: CVE-2023-0056

HAProxy는 HTTP 애플리케이션을 위한 고가용성 서버 부하 분산 장치입니다. 이 취약점은 http_wait_for_response() 함수의 예기치 않은 플래그 처리 실패로 인해 존재하며, 이로 인해 프로세스가 충돌할 수 있습니다. 따라서 이 취약점을 통해 공격자는 서비스 거부 공격을 수행할 수 있습니다. 

취약한 버전의 HAProxy 범위는 2.0.0에서 2.7.0 사이입니다. 버전 2.5.11, 2.6.8 및 2.7.2의 취약점을 패치합니다. 그러나 2.0.x에서 2.4.x까지의 고정 버전은 아직 출시되지 않았습니다.


내용

댓글 남기기

이메일 주소는 게시되지 않습니다. 필수 필드가 표시됩니다 *