메인 콘텐츠로 건너뛰기
블로그 안전 리노드 보안 다이제스트 2022년 10월 16-23

Linode Security Digest 2022년 10월 16-23일

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

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

  • 리노드 Terraform (TF) 공급자 결정적 암호 생성
  • Apache 공용 텍스트 원격 코드 실행 (RCE)
  • Vm2 샌드박스 이스케이프 투 RCE

리노드 Terraform 공급자가 시드되지 않은 결정적 암호를 만듭니다. 

에서 보안 취약점이 발견되었습니다. 리노드 Terraform 공급자, 다음을 사용하여 Linode 인스턴스 프로비저닝을 자동화하도록 설계된 플러그인 Terraform. Terraform 는 서버에서 소프트웨어를 관리하는 대신 서버를 생성, 수정 및 파괴하는 데 중점을 둔 IaC 도구입니다. 

이 취약점은 로 생성된 Linode에 영향을 미칩니다. Terraform 플러그인 버전 v1.29.3. 안에 Terraform 공급자, 루트 암호를 제공하지 않고 Linode가 생성되면 TF 공급자는 임의로 생성된 암호를 사용합니다. 영향을 받는 플러그인 버전은 암호 생성 기능의 변경으로 인해 결정론적 암호를 생성하는 것 같습니다. 취약한 구성 요소는 수학 / 랜드 사용과 관련이 있습니다. Go 무작위 암호 생성을 위해 암호화 / RAND 대신 패키지. 또한 수학 / 랜드 패키지가 시드되지 않았습니다. 

향후 배포를 보호하려면 Linode를 업그레이드하십시오. Terraform 공급자 도구를 최신 버전으로 현재 v1.29.4로 변경했습니다. 즉시 업그레이드할 수 없는 경우 영향을 받는 플러그인을 통해 배포된 인스턴스의 루트 암호를 변경할 수도 있습니다.

추가 지원이 필요하거나 질문이 있는 경우 support@linode.com 문의하십시오.

Apache 공용 텍스트 원격 코드 실행 (RCE)

Apache Commons Text performs variable interpolation, allowing properties to be dynamically evaluated and expanded. The standard format for interpolation is “${prefix:name}”, where “prefix” is used to locate an instance of org.apache.commons.text.lookup.StringLookup that performs the interpolation.

CVE-2022-42889 는 다음 위치에 있는 원격 코드 실행입니다. Apache 공용 텍스트 버전 1.5부터 1.9까지, (StringSubstitutor 클래스의) 기본 조회 인스턴스 집합에는 임의 코드가 실행되거나 원격 서버와 연결될 수 있는 보간기가 포함되어 있습니다. 취약한 조회는 다음과 같습니다.

  • "script" – JVM 스크립트 실행 엔진(javax.script)을 사용하여 표현식을 실행합니다.
  • "dns" – DNS 레코드를 확인합니다. 
  • "url" – URL에서 값 로드

또한 영향을 받는 버전에서 보간 기본값을 사용하는 원격 서버 응용 프로그램은 신뢰할 수 없는 구성 값을 사용하는 경우 원격 코드 실행 또는 원격 서버와의 의도하지 않은 연결에 취약할 수 있습니다. 

이 라이브러리가 설치되어 있는지 확인하는 방법은 'find / -type f -name 'commons-text*.jar''을 실행하면 접두사가 commons-text인 .jar 파일이 제공됩니다. 

수정 사항은 다음으로 시작하여 사용할 수 있습니다. Apache 공용 텍스트 1.10.0. 이 버그 수정은 기본적으로 dns, url스크립트 조회 보간자를 사용하지 않도록 설정합니다. 신뢰할 수 없는 데이터를 수락하고 처리하는 위치에서 입력을 삭제하는 것을 포함하는 다른 해결 방법도 적용할 수 있습니다. 

Vm2 샌드박스 이스케이프 투 RCE

vm2는 허용 목록에 있는 노드의 내장 모듈로 신뢰할 수 없는 코드를 실행할 수 있는 샌드박스 역할을 하는 널리 사용되는 npm 패키지입니다. 이 패키지는 한 달에 1,600 만 회 이상 다운로드되는 매우 인기가 있으므로 vm2 패키지가 설치된 애플리케이션에 대해 활용할 수있는 가치있는 취약점입니다. 

CVE-2022-36067 은 사용자가 vm2의 샌드박스를 이스케이프하고 샌드박스를 실행하는 호스트에 액세스할 수 있는 vm2 샌드박스 라이브러리에 있는 원격 코드 실행입니다. 이 취약점은 현재 버전 3.9.10 이하에 영향을 미칩니다. 

이 취약점에는 prepareStackTrace 메서드 사용이 포함되며, 이 메서드는 개발자가 응용 프로그램에서 발생한 오류의 호출 스택을 사용자 지정할 수 있도록 합니다. 메서드는 "오류" 개체를 만드는 "오류" 생성자입니다. 오류가 발생하고 throw된 오류 객체의 "stack" 속성에 액세스하면, Node.js 는 이 메서드를 호출하면서 "CallSite" 개체의 배열과 함께 오류의 문자열 표현을 인수로 제공합니다. 

연구원들은 전역 Error 개체를 자신의 개체로 재정의하는 것으로 시작했습니다. 이 새 개체를 통해 공격자는 prepareStackTrace 함수를 사용하여 스택 프레임에서 "this" 개체를 반환하는 데 사용되는 함수인 "getThis"라는 샌드박스가 적용되지 않은 함수를 활용할 수 있습니다. 이 스택 프레임 객체는 샌드박스를 이스케이프하고 코드가 실행 중인 호스트에서 코드를 실행하는 함수를 실행할 수 있는 샌드박스가 적용되지 않은 객체입니다. 

수정 사항은 vm2 3.9.11부터 사용할 수 있습니다. 


코멘트

댓글 남기기

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