Skip to content

[CBRD-27387] The processing of (QC/CANCEL/X1) takes precedence over authentication, ACL, and SSL. - #7878

Open
beyondykk9 wants to merge 1 commit into
CUBRID:developfrom
beyondykk9:CBRD-27387
Open

[CBRD-27387] The processing of (QC/CANCEL/X1) takes precedence over authentication, ACL, and SSL.#7878
beyondykk9 wants to merge 1 commit into
CUBRID:developfrom
beyondykk9:CBRD-27387

Conversation

@beyondykk9

Copy link
Copy Markdown
Contributor

http://jira.cubrid.org/browse/CBRD-27387

Purpose

CUBRID 브로커(cub_broker, 기본 리슨 0.0.0.0:30000)의 receiver_thr_f()가 접속 직후 10바이트 헤더의 query-cancel 요청(QC/CANCEL/X1)을 인증·SSL·ACL 검사보다 먼저 처리하는 오류와 발신자 검증 로직에도 두 가지 결함이 있어, DB 자격증명이 없는 원격 공격자가 PID만 알면 타인 세션의 실행 중 쿼리를 강제 중단시킬 수 있고, 응답 코드로 특정 CAS의 busy 상태를 무인증으로 식별이 가능한 문제를 해결.

Implementation

  1. ACL 검사를 PING / ST / QC 앞으로 이동
  2. 발신자 IP 검증을 세 변형 전부에 적용

Remarks

11.4 이하 버전에도 백포트해야 함.

@beyondykk9 beyondykk9 added this to the guava milestone Sep 7, 2026
@beyondykk9 beyondykk9 self-assigned this Sep 7, 2026
@beyondykk9 beyondykk9 added bug enhancement legacy inherited legacy issues labels Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

✅ TC Merge Gate — Merge Allowed

All TC PRs are merged, closed, or not present.

TC Repositories & Branches:

  • cubrid-testcases: No open TC PR (merged, closed, or not created)
  • cubrid-testcases-private-ex: No open TC PR (merged, closed, or not created)

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

🧪 TC Test Environment Ready

CircleCI Testing:

  • CircleCI will automatically test using the branches below.

TC Repositories & Branches:

Next Steps:

  1. Wait for CircleCI tests to complete
  2. If CircleCI tests failed, please check the test results and fix the issues.
  3. When ready to merge this PR, please merge the TC PR first, then merge this PR.

@greptile-apps

greptile-apps Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Security Review

동일한 source IP를 공유하는 사용자는 별도의 세션 인증 없이 PID를 이용해 다른 사용자의 busy CAS를 취소하고 응답 코드로 상태를 확인할 수 있습니다. 세션에 결속된 인증 정보를 query-cancel 요청에서도 검증해야 합니다.

Reviews (1): Last reviewed commit: "[CBRD-27387] The processing of (QC/CANC..." | Re-trigger Greptile

Comment thread src/broker/broker.c
@beyondykk9

Copy link
Copy Markdown
Contributor Author

/run all

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug enhancement legacy inherited legacy issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant