그누보드 보안 취약점 발표 됐네요.

peterpan의 이미지

opt님이 보안 취약점을 열심히 올리시네요.
수고가 많으십니다. santy 웜이 아주 발작을 하는 시점에 무덤덤하네요. 그누보드는 근 한달 사이에 2번째인듯하네요
이젠 보드 사이를 해매고 있는데 이것도 spyki에 바로 올라가겠는데요.
ps. 이젠 무슨 보드를 써야할지 휴우

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

STG Security Advisory: [SSA-20041224-21] File extensions restriction bypass
vulnerability in GNUBoard.

Revision 1.0
Date Published: 2004-12-24 (KST)
Last Update: 2005-01-33
Disclosed by SSR Team (advisory at stgsecurity.com)

Summary
========
GNUBoard is one of widely used web BBS applications in Korea. However, an
input validation flaw can cause malicious attackers to run arbitrary
commands with the privilege of the HTTPD process, which is typically run as
the nobody user.

Vulnerability Class
===================
Implementation Error: Input validation flaw

Impact
======
High : arbitrary command execution.

Affected Products
================
GNUBoard 3.40 and prior

Vendor Status: NOT FIXED
========================
2004-12-09 Vulnerability found
2004-12-09 Vendor contacted and confirmed.
2005-01-03 Official release.

Details
=======
Implementation of check every file extension of upload files is
case-sensitive. Bypassing this mechanism, malicious attackers can upload
arbitrary script files (php, pl, cgi, etc) to a web server.

gbupdate.php (107 line)
- ----
// 실행가능한 스크립트 확장자
$source = array ("/\.php/", "/\.htm/", "/\.cgi/", "/\.pl/");
$target = array (".phpx", ".htmx", ".cgix", ".plx");
- ----

gbupdate.php (142 line)
- ----
// php_x 와 같은 방법으로 스크립트 실행을 하지 못하게 하였으나 abc.php._x
는 실행되는 버그가 있음
$filename = preg_replace($source, $target, $filename);
// 접두사를 붙인 파일명
$upload[$i] = $prefix . $filename;
$dest_file = "./data/file/$bo_table/$upload[$i]";
- ----

malicious attackers can upload [attack].PHP.rar, [attack].pHp.rar, etc.

Solution
=========
modify 108th line of gbupdate.php as following
$source = array ("/\.php/i", "/\.htm/i", "/\.cgi/i", "/\.pl/i");

Vendor URL
==========
http://www.sir.co.kr/

Credits
======
Jeremy Bae at STG Security

-----BEGIN PGP SIGNATURE-----
Version: PGP 8.0

iQA/AwUBQdjxDD9dVHd/hpsuEQIfQgCdH1I3gYRYQhM49hOOEKg35puXscUAoK07
zKwL5QKjuY2Nb2yzKAtFwDhJ
=o+Ui
-----END PGP SIGNATURE-----

opt의 이미지

어차피 가용성이 더 중요하기 때문에 필요하다면 위험을 무릅쓰고, 게시판을 사용해야겠죠.

그누보드 개발자도 보안 문제를 잘 의식하고 있고, 돌출된 문제는 빠르게 해결해나가고 있습니다. 이번 건은 예외입니다만... 연말이라 바빠서겠죠(연말에 남의 코드 분석하고 있는 제가 비정상이겠죠 ^^;)

참고로 보안 권고문에 포함된 소스 내의 주석은 제가 붙인게 아니라, 원본 소스에 붙어있던 소스입니다. 소스 내의 주석으로 보아 게시판들이 갖는 몇가지 보안 문제를 이미 잘 인지하고 있는 것으로 보입니다.

국내 보안 커뮤니티에서 열심히 노력한다면, 보안상의 문제점들도 빠르게 해결해나갈 수 있을 것입니다.

그리고, 이번 취약점이 Santy 웜에 포함되긴 힘들 것입니다. 웜의 소스를 살펴보시면 아시겠지만, 이 웜은 include, require 취약점만을 공격하도록 프로그래밍 되어 있습니다. 물론 file upload 취약점을 공격하도록 변경하는 것이 어려운 일은 아닙니다만....

----
LUX ET VERITAS | Just for Fun!