fix(core,board,ecommerce,payments,basic): KVE-2026 보안 게이트 6묶음 + 자격증명 전송로 정합

KISA 제보 취약점(KVE-2026-1914/1919/2019/2029/2041/2042/2043/2044)과
그 수정 과정에서 드러난 자격증명 전송로 결함을 함께 해소한다.

globalHeaders 는 데이터소스와 apiCall 핸들러에만 적용되는데, 코어 ApiClient 를
직접 부르는 경로들이 그 사실을 모른 채 게이트된 엔드포인트를 호출하고 있었다.
서버는 정당한 사용자를 거부하고 화면은 이미 버튼을 내준 뒤라, 예외도 로그도 없이
그 자리만 비는 형태로만 드러났다. 전송로 10축을 전수 열거해 6건을 고치고,
같은 실수가 반복되지 않도록 규정과 coverage 에 등재했다.

아웃바운드 프록시가 사이트 자기 자신으로 가는 내부 요청까지 가로채 저장이 수십 초씩
걸리던 문제도 함께 고쳤다. 실패가 폴백으로 삼켜져 화면에는 지연으로만 나타났다.
This commit is contained in:
HeuJung
2026-09-06 00:42:29 +09:00
parent 8f072895ff
commit 9cf9c3ff8c
104 changed files with 4522 additions and 412 deletions
@@ -14,6 +14,12 @@
### Fixed
- 비회원 글을 비밀번호로 확인하고 들어가도 저장할 때 「게시글 수정 권한이 없습니다」로 거부되던 문제를 수정했습니다. 본인 확인에 쓰는 값이 한 번만 쓸 수 있는 것인데 수정 화면을 불러오는 과정에서 먼저 소모되어, 정작 저장할 때는 남아 있지 않았습니다. 비밀번호를 다시 받을 방법도 화면에 없어 그 글은 수정 자체가 불가능했습니다. 이제 화면을 불러오는 단계에서는 확인만 하고, 실제로 저장하거나 삭제할 때 한 번 사용합니다.
- 비밀번호를 입력해 비밀글을 열면 댓글 목록이 보이지 않던 문제를 수정했습니다. 「댓글 N」 표시는 그대로인데 그 아래가 비어 있었고, 댓글을 하나 쓰면 그때서야 기존 댓글이 함께 나타났습니다. 비밀번호 확인 응답이 게시글 상세와 같은 내용을 담지 않아 화면이 목록을 잃어버린 것이며, 이제 두 경로가 같은 내용을 돌려줍니다.
- 삭제된 비밀글이 비밀번호만 알면 열리던 문제를 수정했습니다. 게시글 상세 조회는 삭제된 글에 게시판 관리 권한을 요구하는데 비밀번호 확인 경로에는 그 확인이 없어, 목록에서 사라진 글의 내용을 주소를 아는 사람이 볼 수 있었습니다. 이제 두 경로가 같은 기준을 적용하며, 게시판 관리 권한자는 종전처럼 볼 수 있습니다.
- 비회원이 자기 글을 수정하면 그 글의 비밀번호가 암호화되지 않은 상태로 저장되던 문제를 수정했습니다. 수정 화면에서 본인 확인용으로 입력한 비밀번호가 저장 대상으로 잘못 흘러 기존 암호화 값을 덮었고, 그 뒤로는 본인 확인이 항상 실패해 작성자가 자기 글을 다시 수정하거나 삭제할 수 없었습니다. 이제 본인 확인용 입력은 저장되지 않으며, 이미 이 문제로 평문이 된 게시글의 비밀번호는 업데이트 시 자동으로 암호화되어 복구됩니다(작성자가 알던 비밀번호는 그대로 사용됩니다).
- 비밀글을 볼 수 없는 사용자가 그 비밀글에 댓글·답글을 달거나 신고할 수 있던 문제를 수정했습니다. 종전에는 원문만 가려졌을 뿐 하위 글쓰기에는 열람 권한을 다시 확인하지 않아, 내용을 모르는 제3자가 비밀글에 댓글·대댓글·답글을 남기고 그 글과 댓글을 신고할 수 있었습니다. 이제 이 경로 전부에 원문 열람과 같은 기준을 적용합니다. 작성자 본인, 게시판 관리자, 비밀글 읽기 권한을 가진 사용자는 종전처럼 그대로 작성할 수 있고 일반 게시글은 영향받지 않습니다. 비밀번호를 입력해 원문을 연 사용자도 종전처럼 댓글·답글·신고를 남길 수 있습니다 — 비회원이 쓴 비밀글은 작성자 본인의 유일한 확인 수단이 비밀번호이므로, 그 경로가 열려 있어야 자기 글에 이어서 문의할 수 있습니다. (KISA 측에서 제보해주셨습니다 — KVE-2026-2044)
- 비회원이 자기 글을 수정하거나 삭제할 때 쓰는 임시 확인값이 인터넷 주소에 실려 오가던 것을 요청 헤더로 옮겼습니다. 종전에는 이 값이 웹서버 접속 기록과 이동 경로 기록에 그대로 남아, 기록을 볼 수 있는 사람이 그 값을 손에 넣을 수 있었습니다. 저장·삭제 요청은 종전 방식도 계속 받으므로 외부 연동은 영향받지 않습니다.
- 게시판 환경설정 > 게시판 설정 > 일괄 적용에서 [일괄 적용] 확인 창의 「적용할 항목」 목록이 아무것도 표시되지 않던 문제를 고쳤습니다. 이제 선택한 항목이 기본/목록/게시글/댓글/첨부파일/알림/권한 설정별로 묶여 표시되므로, 무엇이 적용되는지 확인한 뒤 실행할 수 있습니다.
- 위 목록에서 「금지어」 항목만 이름 대신 내부 식별자가 표시되던 문제를 고쳤습니다.