5.0 KiB
보안 업데이트 배포 게시물 초안
배포 버전과 배포일은 릴리스 확정 후 기재합니다.
변경 사항
- KVE-2026-2269 / KVE-2026-2331: 비밀번호 재설정·회원가입 인증·이메일 재인증·수신 거부 메일의 보안 링크를 운영자가 지정한
G5_DOMAIN으로 생성합니다. 요청의 Host 또는 프록시 전달 헤더를 대체 주소로 사용하지 않습니다. - KVE-2026-2330: 비회원 게시물 수정 시 기존 비밀번호를 확인한 게시물별 세션 인증을 저장 단계에서 검증합니다. 인증은 30분 동안 유효하며 저장 후 폐기됩니다. 비밀번호가 변경된 경우에도 무효화됩니다. 답변 작성 이력이나 일반 쓰기 토큰만으로 수정할 수 없습니다. 1:1문의 토큰 발급은 로그인한 회원의 해당 용도로 제한합니다.
- KVE-2026-2329: PHP 첨부 처리에서 XHTML/XHT, SVG/SVGZ, XML/XSL/XSLT, MHT/MHTML, HTC 확장자를 저장 전에 거부합니다. 대소문자, 다중 확장자 및 파일명 정규화도 검사합니다. 게시판·1:1문의·폼메일·쇼핑몰 로고의 기존 SVG 검사 경로에 적용합니다.
업데이트 전 고정 도메인 설정
config.php의 기존 G5_DOMAIN 값을 사이트의 실제 공개 주소로 설정하십시오. HTTPS 운영 사이트는 HTTPS 주소를 사용합니다. 하위 디렉터리에 설치했다면 해당 경로까지 포함합니다.
define('G5_DOMAIN', 'https://www.example.com/community');
스킴은 http 또는 https이며 필요하면 포트를 지정할 수 있습니다. 사용자 정보, 쿼리, fragment, 공백·제어문자는 포함할 수 없습니다. 다중 도메인으로 접속하더라도 보안 메일은 이 대표 주소를 사용합니다. 해당 주소에서 인증 페이지와 사이트를 실제로 이용할 수 있는지 확인하십시오.
G5_HTTPS_DOMAIN은 기존 HTTPS 페이지 전환 설정입니다. 보안 메일 주소는 G5_DOMAIN만 사용하므로 G5_HTTPS_DOMAIN만 설정하는 것으로 대체할 수 없습니다.
G5_DOMAIN이 비어 있거나 유효하지 않으면 비밀번호 재설정 인증값을 변경하거나 메일을 발송하지 않습니다. 회원 존재 여부를 노출하지 않도록 비밀번호 찾기의 응답 문구는 기존과 같습니다. 메일 인증이 필요한 가입·이메일 변경·재발송 및 수신 거부 링크를 포함한 회원메일 발송도 중단되므로 업데이트 전에 설정하십시오. 설정 오류는 서버 PHP 오류 로그에 기록됩니다.
CAPTCHA 서비스 설정
기본환경설정의 캡챠 선택에서 기존 지원 기능인 Google reCAPTCHA V2 또는 Invisible reCAPTCHA 사용을 권장합니다. 서비스 관리 콘솔에서 실제 운영 도메인을 등록하고 선택한 유형에 맞는 Site key와 Secret key를 발급받아 설정하십시오. PC·모바일의 가입, 비밀번호 찾기 및 비회원 글쓰기에서 정상 동작을 확인하십시오.
이번 업데이트는 기본 Kcaptcha의 음성 자동 복원 문제 자체를 수정하지 않습니다. 게시물 수정 인증은 CAPTCHA 통과 여부와 별도로 검증합니다.
이미 저장된 첨부 및 웹 서버 점검
신규 업로드 차단만으로 기존 위험 파일이 제거되거나 직접 접근이 차단되지는 않습니다. 운영자는 업데이트 전에 백업을 확보하고 data/file, data/qa 등 첨부 보관 영역에서 위험 확장자와 다중 확장자 파일을 점검하십시오. DB의 첨부 정보와 실제 파일의 대응 관계를 확인한 뒤 필요한 파일을 웹 공개 영역 밖으로 격리하거나 직접 접근을 차단하십시오. 일괄 삭제로 정상 첨부나 DB 참조를 훼손하지 않도록 주의하십시오.
Apache에서는 첨부 영역의 실제 경로에 디렉터리 목록 비활성화(Options -Indexes), 위험 파일 직접 접근 거부 및 스크립트 실행 방지를 적용하십시오. .htaccess의 존재만으로 보호가 보장되지는 않습니다. 해당 경로의 AllowOverride 적용 여부와 규칙의 실제 차단 확장자를 확인해야 합니다.
nginx에서는 첨부 경로의 autoindex off와 위험 파일 접근 거부 규칙을 확인하고, PHP 등 실행 핸들러로 첨부 경로가 전달되지 않도록 location 우선순위를 점검하십시오. 서버별 PHP 연동 방식과 경로가 다르므로 운영 환경에 맞춰 적용해야 합니다.
서버 설정 변경은 운영자가 수행합니다. 적용 후 첨부 직접 URL이 실행되지 않고 디렉터리 목록이 노출되지 않는지 확인하십시오. 직접 URL은 PHP 다운로드 경로를 거치지 않으므로 download.php의 다운로드 헤더만으로 보호되지 않습니다. 정상 이미지 표시 및 권한에 따른 일반 첨부 다운로드도 함께 확인하십시오.
사용자 스킨이나 외부 플러그인이 별도 저장·메일·토큰 경로를 구현했다면 해당 경로에도 같은 검증이 적용되는지 별도 점검이 필요합니다.