장애번호 : 700719a
| 현상 | 1. Primary 인스턴스에 부하가 발생하는 동안 Standby 인스턴스의 추가와 제거를 반복하면 메모리 손상이 발생한다. 2. Primary 인스턴스 메인 리스너의 활성화 상태와 프록시의 상태가 일치하지 않는다. 3. 런타임 Standby 락을 두 번 해제하면 락 소유자 카운트가 무효화되었다는 SLOG가 출력된다. 4. Standby 인스턴스를 비활성화하거나 Primary 인스턴스를 중지할 때 특정 시점에 자원이 중복 해제된다. |
| 원인 | 1. 연결 처리 과정에서 대량의 메시지가 대기 상태로 남아 있을 때 연결 해제 이벤트가 연결 추가 이벤트보다 먼저 처리될 수 있다. 이로 인해 자원이 해제된 후 재접속을 시도하면서 이미 해제된 자원에 접근하게 되고, 리스트 구조가 손상되어 오류가 발생한다. 2. Standby 상태를 변경할 때 메인 프로세스의 상태만 확인하여 중간 처리 중인 프록시 상태를 반영하지 못해 상태 변경이 누락될 수 있다. 3. 특정 처리 단계에서 락을 해제한 후 해당 락 정보를 NULL로 업데이트하지 않아 중복 해제가 발생한다. 4. 연결 해제 요청 메시지를 전송한 후 연결 정보를 즉시 NULL로 업데이트하지 않아 병행 처리 중 신호가 발생하면 자원이 중복 해제된다. |
| 해결 | 1. 메시지 처리 중 대기 상태가 발생하면 이벤트를 직접 등록하도록 변경하여 관련 이벤트가 해제될 때 자원을 정리하고 이미 해제된 자원에 접근하지 않도록 수정한다. 2. Standby 활성화 및 비활성화 시 주 네트워크 인터페이스 상태뿐 아니라 보조 네트워크 인터페이스 상태도 확인하여 두 인터페이스가 동일한 상태일 때만 처리하도록 수정한다. 3. 예외 처리 전에 락을 해제하고 해당 락 정보를 NULL로 업데이트하여 중복 해제가 발생하지 않도록 수정한다. 4. 연결 해제 요청을 전송한 후 연결 정보를 즉시 NULL로 업데이트하여 병행 처리 중 중복 해제가 발생하지 않도록 수정한다. |
| 발생시점 | 2026.03.26. |
| 패치필요버전 | - |
패치 정보
| 패치명 | FS02PS_700719a |
| 메이저버전 | 7 |
| 마이너버전 | FS02PS |
| 배포가능일 | 26.05.06. |
| 버전제목 | Standby의 conn_info 관련 UAF 문제 수정 |
| 기본반영버전 | - |
| 호환성 정보 | 호환 불가 항목 없음 • TAC 롤링 패치: 가능 • TSC 롤링 패치: 가능 • 백업 데이터 호환: 가능 • 프로토콜 호환: 가능 • 데이터 포맷 호환: 가능 |
| AP영향도 | • 플랜 변경 여부: 아니오 • 결과 값 변경 여부: 아니오 • SQL 문법 변경 여부: 아니오 • 시스템 오브젝트 변경 여부: 아니오 • 기존 기능 변경 여부: 아니오 |
| 파라미터 | - |
| 우회방안 | - |