Skip to content

fix: 승인 이메일에 base64 비밀번호 대신 평문 발송 - #340

Merged
yoon6yo merged 1 commit into
developfrom
fix/ubuntu-password-base64-334
Jul 12, 2026
Merged

fix: 승인 이메일에 base64 비밀번호 대신 평문 발송#340
yoon6yo merged 1 commit into
developfrom
fix/ubuntu-password-base64-334

Conversation

@yoon6yo

@yoon6yo yoon6yo commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • 클라이언트는 base64 인코딩된 비밀번호를 ubuntuPassword 필드로 전송
  • 기존: ubuntuPassword 컬럼(이메일용)에 base64 문자열이 그대로 저장됨 → 승인 이메일에 c3Ryb25n... 형태로 발송
  • 수정: toEntity() 내에서 base64 디코딩 후 ubuntuPassword에 평문, ubuntuPasswordBase64에 base64 저장

Test plan

  • 전체 테스트 스위트 통과

Closes #334

클라이언트가 base64 인코딩된 비밀번호를 전송하는데, toEntity()에서
ubuntuPassword(이메일 발송용)와 ubuntuPasswordBase64(SSH 인증용)에
동일한 base64 값을 넣어 이메일에 알아볼 수 없는 문자열이 발송되는 버그 수정.

toEntity() 내에서 base64 디코딩해 ubuntuPassword에 평문 저장.

Closes #334
@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 8a918d16-b96c-463a-8a0b-f94dae5b8f29

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ubuntu-password-base64-334

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

이 PR은 클라이언트가 ubuntuPassword에 Base64 인코딩된 값을 보내는 상황에서, 승인 이메일에 Base64 문자열이 그대로 노출되던 문제(#334)를 해결하기 위해 요청 저장 시 Base64를 디코딩한 평문을 별도 컬럼(ubuntuPassword)에 저장하도록 변경합니다.

Changes:

  • SaveRequestRequestDTO.toEntity()에서 Base64 비밀번호를 UTF-8로 디코딩해 ubuntuPassword(이메일 발송용)로 저장
  • 원본 Base64 문자열은 ubuntuPasswordBase64에 그대로 저장
  • Base64/charset 관련 표준 라이브러리 import 추가

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +83 to +85
// 클라이언트는 base64 인코딩된 값을 전송 — 평문은 디코딩해서 이메일 발송용으로 따로 보관
String plainPassword = new String(Base64.getDecoder().decode(ubuntuPasswordBase64), StandardCharsets.UTF_8);

Comment on lines +23 to 26
import java.util.Base64;
import java.util.List;
import java.util.Map;
import java.util.Set;
}

// 클라이언트는 base64 인코딩된 값을 전송 — 평문은 디코딩해서 이메일 발송용으로 따로 보관
String plainPassword = new String(Base64.getDecoder().decode(ubuntuPasswordBase64), StandardCharsets.UTF_8);
@yoon6yo
yoon6yo merged commit 8de8ec7 into develop Jul 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: ubuntuPassword 컬럼에 base64 값이 저장되어 승인 이메일 비밀번호 깨짐

2 participants