3.6.5 이전 Embedthis GoAhead에서는 CGI가 활성화되어 있고 CGI 프로그램이 동적으로 링크된 경우 원격 코드 실행이 가능합니다. 이는 cgi.c의 cgiHandler 함수에서 신뢰할 수 없는 HTTP 요청 매개변수를 사용해 fork된 CGI 스크립트의 환경을 초기화한 결과입니다. 이 동작은 glibc dynamic linker와 결합될 경우 LD_PRELOAD와 같은 특수한 매개변수 이름을 사용한 원격 코드 실행에 악용될 수 있습니다. 공격자는 요청 본문에 자신의 shared object 페이로드를 POST하고 /proc/self/fd/0을 사용해 이를 참조할 수 있습니다.
3.6.5 이전 Embedthis GoAhead에서는 CGI가 활성화되어 있고 CGI 프로그램이 동적으로 링크된 경우 원격 코드 실행이 가능합니다. 이는 cgi.c의 cgiHandler 함수에서 신뢰할 수 없는 HTTP 요청 매개변수를 사용해 fork된 CGI 스크립트의 환경을 초기화한 결과입니다. 이 동작은 glibc dynamic linker와 결합될 경우 LD_PRELOAD와 같은 특수한 매개변수 이름을 사용한 원격 코드 실행에 악용될 수 있습니다. 공격자는 요청 본문에 자신의 shared object 페이로드를 POST하고 /proc/self/fd/0을 사용해 이를 참조할 수 있습니다.
한국어 설명은 영문 원문을 기준으로 제공됩니다. 제품명·버전·보안 식별자는 아래 원문과 함께 확인할 수 있습니다.
영문 원문 보기
Embedthis GoAhead before 3.6.5 allows remote code execution if CGI is enabled and a CGI program is dynamically linked. This is a result of initializing the environment of forked CGI scripts using untrusted HTTP request parameters in the cgiHandler function in cgi.c. When combined with the glibc dynamic linker, this behaviour can be abused for remote code execution using special parameter names such as LD_PRELOAD. An attacker can POST their shared object payload in the body of the request, and reference it using /proc/self/fd/0.