teum.

checkout-api

main ·a61c9e4 · 09. 28. 16:42 · R-042 샘플 데이터

발견 근거와 수정 방향을 함께 확인하세요
발견 목록F-014 / CODE
—미지정

SQL 쿼리에 사용자 입력이 직접 포함됨

높음실행 검증 안 함

src/users/user.repository.ts:42

요청의 email 값이 SQL 문자열에 직접 합쳐집니다. 입력이 쿼리 구조에 영향을 줄 수 있으므로, SQL 문장과 값을 분리하는 수정이 필요합니다.

발견 규칙
teum/sql-user-input
분류
CWE-89

수정안 비교

예제 코드

발견 시점 코드
삭제, 기존 42행: const sql = `SELECT id, email FROM users삭제, 기존 43행:   WHERE email = '${email}'`;삭제, 기존 44행: return this.dataSource.query(sql);
수정 제안 · 예시
추가, 수정 42행: return this.dataSource.query(추가, 수정 43행:   'SELECT id, email FROM users WHERE email = ?',추가, 수정 44행:   [email],추가, 수정 45행: );

MariaDB + TypeORM 예시입니다. 사용하는 드라이버의 파라미터 형식과 기존 반환값을 확인하세요.

수정 후 확인할 것

직접 확인할 항목

  • 정상 이메일 조회 결과가 기존과 같은지 확인
  • 사용자 입력이 SQL 문법이 아닌 값으로 전달되는지 확인

검토한 내용을 상태로 남기세요.

현재 처리 상태: 미검토

샘플의 상태만 바뀌며 코드에는 적용되지 않아요. 위험 수용은 사유와 기한이 필요한 실제 작업 공간에서 기록해요. 재점검 관측 결과는 직접 변경하지 않아요.

점검 범위 확인
체험 중 바꾼 상태는 새로고침하거나 샘플을 벗어나면 초기화돼요.내 코드 점검 준비 →