thisgun
c00c73465a
[security]비회원 주문/개인결제 조회 uid를 HMAC-SHA256으로 강화
2026-04-16 02:15:29 +00:00
thisgun
3e0e8be6da
[security]쇼핑몰 update 엔드포인트 CSRF 보호 추가
2026-04-16 02:02:26 +00:00
thisgun
92a052fa7a
[perf]html_purifier() 메모리 사용량 최적화
...
한 요청에서 html_purifier()가 N번 호출되면 매번 약 10~15MB의 HTMLPurifier
인스턴스를 새로 생성하여, 게시글 목록처럼 반복 호출되는 페이지에서
수백 MB~GB 단위로 메모리가 낭비되었음.
- HTMLPurifier 인스턴스를 요청 단위로 캐싱 (admin/normal 2개 변형만 유지)
- safeiframe.txt 파일 I/O + 파싱 결과도 요청 단위로 캐싱
- G5_HTMLPURIFIER_NO_CACHE 상수로 캐싱 opt-out 가능
($html 내용에 따라 config를 동적 변경하는 플러그인 호환용)
동작 변경:
- html_purifier_config / html_purifier_safeiframes hook은 캐시 미스 시점에만
실행됨 (요청당 최대 2회). 정적 config를 설정하는 일반적인 hook에는 영향 없음.
- html_purifier_result hook은 매 호출마다 정상 실행됨.
효과 (게시글 목록 30건 + 첨부파일 평균 3개 = 120회 호출 기준):
기존 ~1.8GB → 개선 후 ~15MB
2026-04-16 01:36:59 +00:00
thisgun
4ebdd8ba30
[fix]포인트 사용/환원 함수의 race condition 수정
...
insert_use_point, delete_use_point, delete_expire_point 함수의 SELECT-then-UPDATE
패턴이 동시 호출 시 데이터 무결성을 깰 수 있는 race condition을 가지고 있었음.
같은 회원의 포인트 작업이 동시에 발생하면 PHP 단에서 캐시한 잔여량을 기준으로
판단하여 결과적으로 음수/초과 차감 등 포인트가 꼬이는 현상이 발생.
MyISAM은 트랜잭션과 FOR UPDATE를 지원하지 않으므로, 락 없이 무결성을 보장하는
lock-free atomic UPDATE 패턴으로 재구현:
- 매 단계마다 가장 우선 처리할 행 1개를 SELECT (LIMIT 1)
- WHERE 절에 사전 검증 조건(잔여량/상태)을 포함한 원자적 UPDATE
- get_sql_affected_rows()로 성공/실패 판별, 실패 시 재시도
- max_iter=1000 안전장치로 무한루프 방지
특징:
- 단일 행 차감(가장 흔한 케이스)에서 기존과 동일한 쿼리 수
- GET_LOCK 등 추가 락 없음 → 같은 사용자 동시 요청도 throughput 손실 없음
- MyISAM/InnoDB 모두 호환, MySQL 5.0~8.x 모두 동작
2026-04-16 01:35:45 +00:00
thisgun
4d5c597665
[KVE-2026-0610]그누보드5 자동 로그인 취약점 수정
2026-04-16 01:31:19 +00:00
thisgun
7e65a297bf
[KVE-2026-0608]그누보드5 Race Condition 취약점 수정
...
- bbs/poll_update.php: 설문조사 중복 투표 방지 (FIND_IN_SET을 WHERE에 포함한 원자적 UPDATE)
- bbs/good.php: 추천/비추천 카운터 부풀리기 방지 (INSERT IGNORE 우선 후 카운터 증가)
- lib/common.lib.php: insert_point() 포인트 중복 지급 방지 (MySQL named lock GET_LOCK 사용)
2026-04-16 01:07:17 +00:00
thisgun
b3fa6dc127
[KVE-2026-0595]영카트5 SQL Injection 취약점 수정
2026-04-06 06:26:20 +00:00
thisgun
5e6b4fa668
[KVE-2026-0242]영카트주문취소시_포인트복구취약점_수정
2026-03-25 04:59:56 +00:00
thisgun
137d78ff73
영카트 관리자모드 분류출력 개선
2026-02-03 06:24:34 +00:00
thisgun
bf27af3925
영카트 shop_is_taxsave 에서 볌수 코드 오타 수정
2026-02-02 07:33:36 +00:00
thisgun
7c490448ec
메일보내기 발신자 위장 방지 및 암호화 키의 안전성 취약점 수정
2026-01-30 05:00:43 +00:00
thisgun
b94771de92
썸네일 파일 코드 위치변경
2026-01-27 03:34:20 +00:00
thisgun
633ff46596
전체검색시 페이징 되지 않는 오류 수정
2025-09-12 10:50:08 +09:00
thisgun
002e43e5fb
XSS 취약점 수정
2025-08-28 13:35:14 +09:00
thisgun
9510aa9cf1
Merge branch 'master' of github.com:gnuboard/g5-update
2025-08-27 18:52:02 +09:00
thisgun
6a3c2b1002
[KVE-2025-0464]영카트 XSS 취약점 수정
2025-08-27 17:58:06 +09:00
총
f69b66dced
[KVE-2025-0510] Stored XSS (bypass html_purify patch) to RCE 취약점 수정
2025-08-27 11:48:36 +09:00
thisgun
d5b541724f
create_hash 함수에 fclose 코드 추가
2025-07-31 20:23:59 +09:00
thisgun
9758007f91
NHN_KCP 네이버페이 간편결제 카드 또는 머니결제로 분리
2025-07-31 20:21:22 +09:00
thisgun
f1da95f055
Open redirect 취약점 수정
2025-07-30 15:03:01 +09:00
thisgun
a9eab8d86a
insert_use_point 함수에 hook 추가 #363
2025-07-08 11:40:47 +09:00
thisgun
2556753530
url_auto_link함수에 url_auto_link_before hook 추가 #361
2025-07-08 11:02:34 +09:00
thisgun
67415cf8d3
get_uniqid 함수에 hook 추가
2025-06-18 10:53:46 +09:00
thisgun
38451a7d3d
[KVE-2025-0384]XSS lead to RCE 취약점 수정
2025-06-04 17:44:50 +09:00
thisgun
61576d3e87
[KVE-2025-0351]ip 검증 취약점 수정
2025-05-28 10:57:33 +09:00
thisgun
316d3542a9
[KVE-2025-0259]XSS 취약점 수정
2025-05-15 09:53:28 +09:00
thisgun
f9c972d866
[KVE-2025-0191] Stored XSS (bypass html_purify via Open Redirect) 취약점 수정
2025-04-17 16:04:01 +09:00
thisgun
5552fda906
사이드뷰에서 잘못된 닉네임 또는 이름이 출력되는 오류 수정
2025-02-04 10:49:01 +09:00
thisgun
13759821fe
메일 함수 예외 로그 추가 #354
2025-02-03 17:56:42 +09:00
thisgun
8893b112fa
일부 특수문자가 mysql charset 이 uft8 인 경우 기록이 안되는 현상 수정
2024-11-21 11:58:55 +09:00
thisgun
d65fa99e3c
CloudFlare 환경과 적용에 대한 코드 다시 재수정
2024-11-04 16:13:43 +09:00
thisgun
ab204cfa59
CloudFlare 환경과 적용에 대한 코드 수정 #349
2024-10-25 11:46:50 +09:00
thisgun
67051c74a8
latest 함수 PHP 8 optional parameter issue 수정
2024-10-22 17:48:08 +09:00
thisgun
c4c1e50f68
Merge branch 'master' of github.com:gnuboard/gnuboard5
2024-07-18 10:28:57 +09:00
kagla
d4c158cfa4
php-mysql 미설치시, 그누보드 설치 경고창에 정보 안나오는 경우 해결
2024-07-16 10:56:06 +09:00
thisgun
72d52b594c
Deprecated: Optional parameter warning message 경고메시지 나오는 함수 코드 수정
2024-07-08 11:22:58 +09:00
kkigomi
02baf1589f
fix: get_member 함수에서 hook에 잘못된 아이디가 전달될 수 있는 문제 고침 ( #328 )
...
* fix: get_member 함수에서 hook에 잘못된 아이디가 전달될 수 있는 문제 고침
trim()이 mysql 쿼리에서만 처리되어 hook에 잘못된 회원아이디가 전달될 수 있는 문제.
* 잘못된 파라미터 타입 수정
2024-06-18 09:45:34 +09:00
thisgun
07f848e1c7
Merge branch 'master' of github.com:gnuboard/gnuboard5
2024-06-07 12:43:59 +09:00
thisgun
80846ac637
5.5버전 브랜치와 충돌수정
2024-06-07 12:43:34 +09:00
thisgun
62c0803cf5
초기화되지 않은 변수 수정 #325
2024-06-07 12:38:32 +09:00
zipuragi
ca30e27b27
게시판에서 회원 아이디로 댓글 검색시 잘못된 결과가 나오는 문제 ( #322 )
2024-06-07 12:25:31 +09:00
thisgun
e03e01d410
Open Redirect 취약점 수정 #318
2024-06-05 14:56:50 +09:00
thisgun
3fd8740c92
관리자 기본환경설정에서 불필요한 코드 제거
2024-06-03 18:16:59 +09:00
thisgun
a301d3e1f0
관리자 기본환경설정에서 불필요한 코드 제거
2024-06-03 12:39:48 +09:00
thisgun
84669cb47f
나이스페이 결제수단 추가
2024-04-03 10:42:04 +09:00
thisgun
2bfd995e49
쇼핑몰 결제시 결세수단 체크 과정 추가
2024-04-03 09:59:02 +09:00
thisgun
8d912e3511
Open Redirection 취약점 다시 재수정
2024-02-14 18:31:52 +09:00
thisgun
15f2037790
OpenRediect 취약점 수정
2024-01-25 16:50:47 +09:00
thisgun
1ec9a0ee12
게시판 아이디를 content로 생성하면 짧은주소 기능과 충돌하는 문제 수정 #299
2023-12-29 11:56:32 +09:00
thisgun
a061d6c863
동시성 문제로 wr_seo_title 값이 중복되는 문제 수정 #293
2023-12-18 17:26:30 +09:00