본문 바로가기
디자인원엑스커뮤니티의 새로운 기본
홈 고객센터
Latest Version
DXCMS v10.3.32026.06.15 배포 D+129일 (4개월)
  • 155다운로드
  • 0테마
  • 60플러그인
  • 7스킨

DXCMS v10.3.3

D DX관리자
2026.10.22 02:11(수정됨) 3 0

DXCMS v10.3.3 패치 내역

버전 제안: 10.3.3. 보내 주신 패치 안에 이미 v10.3.1(게시판 도메인별 스킨), v10.3.2(뷰 카테고리) 표기가 있어서 그 다음 번호입니다. 호환을 깨는 변경은 없습니다. 새 DB 컬럼 1개(boards.skin_map)만 있습니다.

변경 내용

구분 내용 파일
기능 (v10.3.1) 게시판 스킨을 접속 도메인별로 저장·적용. 글·DB는 공유, 스킨만 도메인별. 지정이 없으면 기본 스킨 extend/top/04_board_site_skin.php(신규), admin/boards/index.php, core/router/Router.php, core/api/post_row.php, install/migrate.php
수정 (v10.3.2) 글 보기 화면의 모바일 카테고리 바가 목록과 같은 계층 구조로 표시되고, 하위 카테고리 그룹이 펼쳐짐 themes/default/board/basic/view.php, boards/skins/gallery/view.php, themes/default/layout/_main.php
수정 SNS 가입 흐름: 이메일 인증 화면에 SNS 가입 버튼 추가, 인증 완료 상태에서는 가입 화면의 SNS 버튼 숨김 core/auth/email-verify.php, core/auth/register.php
수정 마이페이지·내 댓글·친구 소식·포인트 내역 정렬을 created_at DESC, id DESC로 core/auth/mypage.php, core/DxFriend.php, core/DxPoint.php
수정 경험치 로그 테이블(exp_log)이 없어도 댓글·글쓰기가 500으로 끝나지 않고 건너뜀(로그 기록) core/DxPoint.php
수정 검색어에 따옴표·특수문자가 있어도 오류 없이 검색(한글 유지, 따옴표 구문 검색 유지) core/search/handler.php
개선 썸네일을 WebP로 생성(GD에 WebP가 없으면 기존 jpg/png). 기존 캐시도 인식 core/DxThumb.php
보안 PHP2Shell(CVE-2026-109618/109619) 점검·부분 완화 모듈. 관리자가 "적용"을 눌러야 서버 파일 수정, 적용 직후 업로드 시험, 실패 시 자동 해제 core/Php2Shell.php, admin/security-emergency/index.php, extend/top/06_php2shell.php


합치면서 바로잡은 것 (그대로 덮어쓰면 문제가 되는 부분)

  1. install/migrate.php (도메인 스킨 패치): 10.3.0보다 오래된 기준으로 만들어져 있어, 그대로 덮으면 v10.2.0 visit_logs 유입경로 컬럼 마이그레이션 블록이 사라지고 소셜 마스킹 로그 개선도 이전 상태로 돌아갑니다. 10.3.0 파일에 skin_map 블록만 추가해서 합쳤습니다.
  2. core/DxPoint.php: core.zip(exp_log 보호)과 mypage-sort(정렬)가 같은 파일을 각자 수정해, 나중에 덮은 쪽만 남습니다. 두 변경을 모두 넣어 합쳤습니다.
  3. core/auth/mypage.php: mycomments-sort는 mypage-sort에 포함됩니다. mypage-sort 쪽만 사용했습니다.
  4. core.zip 경로: DxPoint.php, search/handler.php가 압축 루트에 있어 core/ 아래로 넣어야 합니다. 합친 압축에서는 올바른 경로입니다.
  5. core/api/post_row.php: 패치본은 줄바꿈이 CRLF에서 LF로 바뀌어 전체 파일이 변경된 것처럼 보입니다. 실제 변경은 1줄이라 원본 줄바꿈을 유지한 채 그 1줄만 반영했습니다.


검증

  • 변경된 14개 PHP 파일 문법 검사 통과.
  • 10.3.0 배포본에 합쳐 Apache 2.4 + PHP 8.3 CGI에서 첫 화면, 로그인, 회원가입, 검색(따옴표·괄호 포함), 게시판 목록이 모두 200으로 열림.
  • 미확인: 도메인별 스킨 저장·적용, WebP 썸네일 생성, SNS 가입 화면, 뷰 카테고리 바는 이 환경에서 화면까지 확인하지 못했습니다. 기존에 직접 확인하신 것으로 알고 합쳤습니다.


적용 순서

  1. DXCMS_v10.3.3_changed-files.zip을 사이트 루트에 덮어쓰기 (version.php 포함, 10.3.3)
  2. install/migrate.php 실행 (boards.skin_map 추가)
  3. 관리자 "긴급 보안"에서 PHP 버전 상태 확인


DXCMS PHP2Shell 대응 패치 내역

 
항목 CVE-2026-109618 CVE-2026-109619
공식 권고문 GHSA-w8hw-w9fx-j79w GHSA-6wmf-4rv5-p3rp
제목 OOM(메모리 부족) 손상을 통한 원격 코드 실행 남은 전역 상태를 통한 원격 코드 실행
심각도 CVSS 4.0 9.2 CVSS 4.0 9.2
원인 메모리 부족을 longjmp()로 처리하면서 요청 메모리가 반쯤 초기화된 채 남음 워커의 전역 변수가 해제된 요청 메모리를 가리킨 채 남음
공격 경로 비정상 multipart/form-data 요청 (길이 정보 없음/사용 불가, 파트별 헤더 무제한, 빈 파일 필드, 깊은 중첩 필드명) PHP 8.5의 fatal_error_backtraces, 세션 업로드 진행(session.upload_progress)
가장 위험한 환경 Apache mod_php (완전한 원격 코드 실행 검증) mod_php, PHP-FPM 모두 확인
PHP-FPM 요청 시작 실패 시 워커 종료, 완전한 공격은 제시되지 않음 upload_progress 경로 확인
 

한계

  • DXCMS 코드로는 PHP 엔진 내부의 취약점을 막을 수 없습니다. 이 취약점은 PHP가 요청 본문을 읽는 단계에서 일어나며, 그때는 DXCMS 코드가 실행되기 전입니다.
  • 설정으로 CVE-2026-109618을 완전히 막을 수 없습니다. 형식 검사는 권고문이 지적한 경로 중 하나만 줄입니다.
  • nginx·IIS처럼 설정 파일이 사이트 폴더 밖에 있는 환경은 자동 적용이 안 됩니다.
  • 위 모든 보호는 보조 수단입니다. 완전한 해결은 PHP 업그레이드입니다.

댓글0

로그인 후 댓글을 작성할 수 있습니다.
NO TITLE AUTHOR DATE VIEW
공지
D DX관리자
07.29 45
DX관리자
10.22 3
DX관리자 · 3
16
DX관리자
10.10 32
DX관리자 · 32
15
DX관리자
10.06 33
DX관리자 · 33
14
DX관리자
09.29 46
DX관리자 · 46
13
DX관리자
09.28 35
DX관리자 · 35
12
DX관리자
08.31 88
DX관리자 · 88
11
DX관리자
08.16 46
DX관리자 · 46
10
DX관리자
07.29 47
DX관리자 · 47
9
DX관리자
07.20 52
DX관리자 · 52
8
DX관리자
07.14 56
DX관리자 · 56
7
DX관리자
07.09 54
DX관리자 · 54
6
DX관리자
07.07 54
DX관리자 · 54
5
DX관리자
07.06 54
DX관리자 · 54
4
DX관리자
07.02 63
DX관리자 · 63
3
DX관리자
06.27 62
DX관리자 · 62
2
DX관리자
06.21 96
DX관리자 · 96
1
DX관리자
06.15 104
DX관리자 · 104
내 플레이리스트
플레이리스트가 비어있습니다
스튜디오 게시판에서
플레이리스트에 담기 버튼을
눌러보세요
목록 로그인
TODAY 가입0 게시글5 댓글14 방문39
TOTAL 회원56 게시글1,691 댓글3,803 방문56,405
현재 접속1
목록