🇰🇷 한글 설명
phpBB의 bbcode.php에서 bbencode_second_pass와 make_clickable 함수가 URI 스킴을 제대로 검증하지 못해 javascript:, applet:, about: 등의 위험한 스킴이 포함된 BBcode URL 태그를 통해 임의의 JavaScript를 실행할 수 있다. 게시판의 viewtopic.php, privmsg.php 등에서 사용자 입력이 충분히 살균되지 않아 XSS 공격이 가능하다.
💡 쉬운 설명
phpBB 게시판에서 링크를 입력할 때 악의적인 코드를 걸러내지 못하는 문제다. 공격자가 특수한 링크를 게시글에 남기면 다른 사용자가 클릭할 때 공격자의 코드가 실행될 수 있다.
🇺🇸 원문 (English)
The bbencode_second_pass and make_clickable functions in bbcode.php for phpBB before 2.0.15, as used in viewtopic.php, privmsg.php, and other scripts, allow remote attackers to execute arbitrary script via a BBcode tag with a (1) javascript:, (2) applet:, (3) about:, (4) activex:, (5) chrome:, or (6) script: URI scheme, as demonstrated using the URL tag.
📍 영향받는 시스템
phpBB 2.0.15 이전 버전
⚔️ 공격 벡터
BBcode URL 태그에 javascript:, applet:, about:, activex:, chrome:, script: 스킴을 포함시켜 XSS 페이로드 주입
🛡️ 대응 방법
phpBB를 2.0.15 이상으로 업그레이드하고 bbcode.php의 URI 스킴 화이트리스트 검증 강화
🔧 검증 코드
bbcode.php 파일에서 해당 함수들의 위치를 확인하고, 함수 내부의 URI 스킴 검증 로직에서 http/https 외 스킴을 거부하는지 검토
grep -n 'function.*bbencode_second_pass\|function.*make_clickable' /var/www/html/phpbb/bbcode.php 2>/dev/null