시놀로지는 10월 22일 보안 권고 Synology-SA-26:14에서 PHP2Shell(CVE-2026-109618·CVE-2026-109619)이 패키지 센터로 설치하는 Synology Calendar, Mail Station, PHP 7.3~8.4 패키지에 영향을 준다고 밝혔고, KISA 보호나라는 10월 29일 업데이트를 권고했다. 수정 빌드는 Calendar 3.0.4-21435, Mail Station 30000002.3.19-20333(DSM 7.0·7.1은 30000002.3.19-10333)이고 PHP는 버전과 DSM마다 다르며, PHP 7.3은 수정판이 없다. 오늘 할 일은 셋이다. 패키지 센터 > 설치됨에서 빌드를 확인해 올리고, 인터넷에 열린 NAS 화면을 줄이고, 10월 17일 이후 로그인·연결 기록을 점검한다.
처음 나온 수정 빌드는 모두 DSM 7.2 이상용이었고, DSM 6.2·7.0·7.1은 10월 29일 개정에서야 권고문에 들어갔다. 22일 공지만 보고 '우리 DSM용은 없다'며 넘어갔다면 다시 확인한다. 권고문과 KISA 공지에는 시놀로지 기기를 노린 실제 공격이나 피해 사례가 적혀 있지 않지만, PHP2Shell 공격 시도 자체는 공개 4일 전인 10월 17일부터 관측됐다(AWS).
한눈에 보기
| 항목 | 내용 |
|---|---|
| 취약점 | PHP2Shell(CVE-2026-109618, CVE-2026-109619). 시놀로지 평가 심각도 Critical, CVSS 3.1 9.8. 원격 공격자가 임의 코드를 실행할 수 있다 |
| 영향 패키지 | Synology Calendar, Mail Station, PHP 7.3·7.4·8.0·8.1·8.2·8.3·8.4 |
| 수정 빌드 | Calendar 3.0.4-21435(DSM 7.2 이상), Mail Station 30000002.3.19-20333(DSM 7.2·7.3), 30000002.3.19-10333(DSM 7.0·7.1), PHP 8.1.34-0120·8.2.35-0171·8.3.36-0051·8.4.27-0051 이상. PHP 7.4·8.0은 DSM마다 다르고 PHP 7.3은 고치지 않는다 |
| 공지 | Synology-SA-26:14(10월 22일 게시, 26일·29일 개정), KISA 보호나라 'Synology 제품 보안 업데이트 권고'(10월 29일) |
| 영향 구분 | Hyper Backup(권고문 표 Not affected). DSM 내장 PHP는 악용 위험이 매우 낮다고 시놀로지가 밝혔다 |
| 지금 할 일 | 빌드 확인 → 기록 내려받기 → PHP 패키지 업데이트 → Calendar·Mail Station 업데이트 → 수정판 없는 패키지 외부 차단 → 10월 17일 이후 기록 점검 |
무엇이 문제인가
PHP2Shell은 요청 처리가 메모리 부족 같은 오류로 끊길 때 정리가 덜 된 메모리를 PHP가 다시 쓰는 결함 두 건으로, 로그인 없이 원격 코드 실행까지 이어질 수 있다. PHP 공식 수정 버전 8.5.12·8.4.27·8.3.36·8.2.35는 10월 21일에 나왔다. 원리와 일반 서버 대응은 PHP2Shell PHP 취약점 대응에 정리했다.
시놀로지 NAS에서 이 결함이 닿는 곳은 패키지 센터로 설치한 PHP 패키지, 그리고 PHP로 도는 Calendar, Mail Station, Web Station 사이트다. Calendar 3.0.4는 PHP 8.2 패키지 8.2.35-0171 이상을 요구하고, Web Station 사이트는 스크립트 언어 설정의 프로필마다 고른 PHP 버전으로 돈다. Web Station 기본 포털은 NAS의 80·443 포트로 열리고 웹사이트 파일은 web 공유 폴더(/volume1/web)에, phpMyAdmin 같은 타사 패키지 파일은 web_packages 공유 폴더에 들어간다. Mail Station은 NAS에 저장된 메일을 브라우저로 읽는 웹메일이다. 이런 화면을 회사 도메인에 붙여 두었다면 그곳이 인터넷 쪽 공격 지점이 된다.
DSM 운영체제에 내장된 PHP는 사정이 다르다. 시놀로지는 외부 공격 표면에 노출되지 않아 악용 위험이 매우 낮다고 봤고, 권고문의 수정 목록도 DSM이 아니라 패키지 빌드다. 패키지 번호는 PHP 공식 버전 뒤에 빌드 번호를 붙인 형태(예: 8.2.35-0171)이고, KISA도 제조사 패키지 버전은 PHP Group 공식 버전과 구분해서 확인하라고 했다. PHP 공식 수정 릴리스가 없는 7.4·8.0·8.1은 시놀로지가 PHP 버전(7.4.33, 8.0.30, 8.1.34)을 그대로 둔 채 빌드 번호만 올려 고쳤다.
우리 NAS가 해당되는지 확인하는 법
DSM 버전은 제어판 > 정보 센터 > 일반에 나온다. 그다음 패키지 센터 왼쪽 패널의 설치됨에서 Calendar, Mail Station, PHP 패키지를 눌러 빌드 번호를 적는다. PHP는 버전마다 별도 패키지라 7.4와 8.2가 함께 깔려 있을 수 있고, 그러면 둘 다 수정 빌드여야 한다.
| 패키지 | DSM 버전 | 수정 빌드 | 확인 위치 |
|---|---|---|---|
| Synology Calendar | 7.2 이상 | 3.0.4-21435 이상. PHP 8.2 8.2.35-0171 이상, Node.js v22 필요 | 패키지 센터 > 설치됨 |
| Synology Calendar | 7.0·7.1·6.2 | 수정 빌드 공지 없음(권고문·릴리스 노트, 10월 30일 확인) | 같은 곳 |
| Mail Station | 7.2·7.3 | 30000002.3.19-20333 이상 | 같은 곳 |
| Mail Station | 7.0·7.1 | 30000002.3.19-10333 이상(릴리스 노트) | 같은 곳 |
| Mail Station | 6.2 | 수정 빌드 공지 없음 | 같은 곳 |
| PHP 7.3 | 전체 | 고치지 않는다(지원 종료). 다른 버전으로 옮긴다 | 쓰는 곳은 Web Station > 스크립트 언어 설정 |
| PHP 7.4 | 7.2 이상 / 7.0·7.1 / 6.2 | 7.4.33-0131 / 7.4.33-0122 / 7.4.33-0010 이상 | 패키지 센터 > 설치됨 |
| PHP 8.0 | 7.2 이상 / 7.0·7.1 | 8.0.30-0122 / 8.0.30-0104 이상 | 같은 곳 |
| PHP 8.1~8.4 | 7.2 이상 | 8.1.34-0120, 8.2.35-0171, 8.3.36-0051, 8.4.27-0051 이상 | 같은 곳 |
빌드 기준은 권고문과 릴리스 노트, 메뉴 이름은 시놀로지 도움말(DSM 7)을 따랐다.
- 10333은 20333보다 작아도 수정판이다: 권고문 표의 Mail Station 수정 빌드는 20333 하나이고, 릴리스 노트상 이 빌드는 DSM 7.2·7.3용이다. DSM 7.0·7.1용은 10월 29일 나온 10333이라 숫자만 비교하면 '20333 미만이니 취약'으로 잘못 판정한다. 10333은 DSM 7.2·7.3용 빌드가 2025년 10월에 먼저 고친 CVE-2024-37383·CVE-2024-37384·CVE-2025-49113도 함께 고쳤다.
- 표 밖 버전, Calendar 2.4.x: 3.0.x는 DSM 7.2 이상에서만 설치되므로 DSM 7.0·7.1은 2.4.x 계열을 쓴다. 릴리스 노트에서 이 계열은 8월 4일 2.4.7-10946이, DSM 6.2용은 2022년 2.4.5-0930이 마지막이다. 다운로드 아카이브에 10월 28일 날짜의 2.4.8 파일이 올라와 있지만 릴리스 노트와 권고문에 없어 이번 수정이 들어갔는지 확인되지 않는다. 이런 Calendar는 밖에서 열리지 않게 막고 DSM 7.2 이상 전환을 검토한다.
- Web Station 사이트의 PHP:
Web Station > 스크립트 언어 설정의 PHP 탭에서 프로필별 PHP 버전을 확인하고, 패키지 설치 때 자동으로 생긴 패키지 기반 프로필도 함께 본다. - 밖에서 보이는 버전은 참고만: 시놀로지 PHP 패키지는 기본 설정이
expose_php = Off라 응답 헤더(X-Powered-By)에 버전이 보통 나오지 않는다(7.4.33-0010 패키지 기본 설정으로 확인). 보이더라도 7.4.33, 8.0.30, 8.1.34는 수정 전후 번호가 같아 가릴 수 없다. 판정은설치됨의 빌드 번호로 한다.
공지와 빌드 타임라인
날짜는 릴리스 노트와 공지 기준이고, 권고문 시각은 UTC+8(괄호 안 한국 시각)이다.
- 2025-10-08: 시놀로지가 Mail Station·Synology Mail Server 지원 종료를 공지했다. 종료일은 2026년 4월 8일이고 DSM 7.3 계열이 설치·사용할 수 있는 마지막 버전이다.
- 2026-04-08: Mail Station 지원 종료. 공지는 이후 업데이트를 제공하지 않는다고 했다.
- 10-17: AWS가 PHP2Shell 첫 공격 시도를 관측했다(공개 4일 전).
- 10-21: PHP 공식 수정 버전 배포.
- 10-22 19:45(20:45): Synology-SA-26:14 첫 게시. Calendar 3.0.4-21435, Mail Station 20333과 DSM 7.2 이상용 PHP 7.4·8.0·8.1·8.2·8.3·8.4 수정 빌드가 같은 날짜로 나왔다.
- 10-26: 2차 개정. Hyper Backup을 영향 없음으로 표에 넣었다.
- 10-28: DSM 7.0·7.1용 PHP 7.4.33-0122·8.0.30-0104가 나왔다. 아카이브에는 Calendar 2.4.8 파일이 올라왔다(릴리스 노트에는 없음).
- 10-29: 3차 개정(마지막 갱신 11:39, 한국 시각 12:39)으로 DSM 6.2·7.0·7.1 추가. DSM 6.2용 PHP 7.4.33-0010, DSM 7.0·7.1용 Mail Station 10333이 나왔고 KISA 보호나라가 업데이트를 권고했다.
대응 순서
오늘
- IT 담당: NAS마다 빌드표를 만든다. 모델, DSM 버전, Calendar·Mail Station·PHP 빌드, 밖에서 들어오는 길(포트 전달, QuickConnect, 사용자 지정 도메인, 역방향 프록시)을 한 줄에 적고
설치됨화면을 캡처한다. - IT 담당: 업데이트 전에 기록을 받아 둔다.
로그 센터 > 로그에서 날짜 범위를 10월 17일부터로 걸어 HTML이나 CSV로 내보낸다. KISA는 재시작하면 메모리의 공격 흔적이 사라지니 업데이트·재시작 전에 증거부터 확보하라고 했다. 모르는 로그인뿐 아니라 낯선 PHP 파일이나 비정상 실행·연결이 보이면 업데이트를 미루고 7번으로 간다. 침해가 의심되면 로그와 실행 중인 프로그램 목록·네트워크 연결 정보를 먼저 보존한다. - IT 담당: PHP 패키지부터 올린다.
패키지 센터 > 설치됨에서업데이트를 누른다. Calendar 3.0.4가 요구하는 PHP 8.2(8.2.35-0171 이상)와 Node.js v22가 먼저다. 업데이트가 안 보이면 다운로드 센터에서 모델에 맞는 .spk 파일을 받아수동 설치로 올리고, 끝나면 빌드를 다시 캡처한다. - IT 담당: Calendar와 Mail Station을 올린다. 위 표의 수정 빌드로 맞추되, DSM 7.0·7.1의 Mail Station은 10333이 기준이다.
- IT 담당: 수정판이 없거나 오늘 못 올리는 패키지는 밖에서 못 열게 한다. PHP 7.3, DSM 7.0·7.1·6.2의 Calendar, DSM 6.2의 Mail Station이 해당한다. PHP 공식 권고(GHSA)는 수정된 PHP로 올리는 것만이 완전한 대책이라고 했으니 설정 변경에 기대지 말고 외부 접속부터 끊는다.
- IT 담당: 인터넷에서 들어오는 길을 줄인다.
제어판 > 정보 센터 > 서비스탭에서 서비스·패키지별 라우터 포트 구성과 방화벽 접근성을 본다. 앱에 붙인 별칭·포트·도메인은제어판 > 로그인 포털 > 응용 프로그램, 역방향 프록시는제어판 > 로그인 포털 > 고급, QuickConnect로 연 앱은제어판 > 외부 액세스 > QuickConnect의고급 설정에 있다. 포트 전달은제어판 > 외부 액세스 > 라우터 구성과 공유기 관리 화면에서 확인한다. 필요 없는 길은 끊는다.제어판 > 보안 > 방화벽에서 관리 화면·웹메일은 회사 또는 VPN의 허용 주소와 해당 포트로 제한한다. 방화벽 기본 동작은 처음에 '액세스 허용'이라, 내부망·관리 접속과 필요한 메일 수신 규칙을 먼저 확인한 뒤 나머지 트래픽의 기본 동작을 '액세스 거부'로 바꾼다. 시놀로지는 필요 없으면 DSM을 인터넷에 노출하지 말고, 밖에서 파일 서비스를 쓰려면 VPN으로 연결하라고 권고한다. - 책임자·IT 담당: 침해가 의심되면 초기화 전에 증거부터 남긴다. 모르는 관리자 계정이나 로그인,
web폴더의 낯선 PHP 파일이 보이면 KISA 순서(격리 → 신고 → 증거 확보 → 조치)를 따른다. 공유기에서 외부 접속만 끊고 NAS 전원은 켜 둔다. 시놀로지도 전원을 끄면 휘발성 메모리의 흔적과 증거를 보존할 수 없다고 적었다. 보호나라에서 침해사고를 신고한 뒤(상담은 국번 없이 118) 로그 센터 기록을 내보내고, 의심 파일은 지우지 말고 사본과 해시값을 남기고(일반 점검), 지원 센터에서 시스템 로그를 만든다. DSM 버전, 사용 중인 서비스, 설치된 패키지, 방화벽 규칙, 비정상 로그인과 사용된 계정을 정리해 두면 시놀로지 지원에 낼 초기 자료가 된다. 업데이트·재설치는 그다음이다. 증거 보존과 패치 후에는 관리자 비밀번호와 사용 중인 DB 비밀번호·연동 키·토큰을 교체한다. 인터넷에 노출됐던 취약 NAS는 침해 흔적이 없어도 교체 대상이다. 첫 1시간 역할은 침해사고 1시간 골든타임 액션북을 쓴다.
이번 주
- IT 담당: PHP 7.3을 걷어 낸다.
Web Station > 스크립트 언어 설정에서 PHP 7.3을 쓰는 프로필을 찾고,Web Station > 웹 서비스에서 그 프로필을 쓰는 서비스를편집해 수정 빌드가 있는 PHP 버전의 프로필로 바꾼 뒤 동작을 시험한다. 쓰는 곳이 없으면설치됨에서 PHP 7.3을 제거한다. - IT 책임자: Mail Station을 대신할 방향을 정한다. 이번 20333·10333은 지원 종료(4월 8일) 뒤에 나온 수정이지만, 공지는 이후 업데이트를 제공하지 않는다고 했다. 시놀로지가 권하는 MailPlus·MailPlus Server(DSM 7.2 이상, MailPlus Server 3.2.0 이상 필요)로 옮길지 다른 메일 서비스로 옮길지 정하고, 그때까지 웹메일은 밖에서 직접 열리지 않게 둔다.
- IT 담당: 자동 업데이트와 알림을 켠다.
패키지 센터의설정 > 자동 업데이트탭에서 옵션을 고르고(중요 버전은 심각한 버그나 보안 취약점을 고친 버전),설정 > 일반 > 알림에서 알림을 켠다. 이메일 알림은제어판 > 알림설정이 먼저다. 그래도 이번처럼 DSM마다 빌드가 갈리는 건은설치됨에서 직접 확인한다. - 보안 담당: 회사 도메인에서 열리는 NAS 화면을 모은다. 대표 도메인과 하위 도메인에서 DSM 로그인 화면, Calendar, 웹메일, Web Station 사이트가 열리는 주소를 목록으로 만든다. 잊힌 주소를 찾는 순서는 공격표면 관리(ASM) 자가점검 5단계에 있다.
이번 달
- IT 책임자: DSM 7.0·7.1·6.2 NAS의 갈 길을 정한다. Calendar 수정판과 MailPlus Server 이전 모두 DSM 7.2 이상이 필요하다. DSM 7.2 이상을 지원하지 않는 모델이라면 교체 시기와 그때까지의 외부 차단 방법을 문서로 남긴다.
- IT 담당: 쓰지 않는 패키지와 사이트를 지운다. 오래된 PHP, 시험용 Web Station 사이트, 쓰지 않는 Calendar·Mail Station이 대상이다. 시놀로지도 필요한 서비스만 열라고 권고한다.
- 보안 담당: 시놀로지 보안 권고를 정기 확인 목록에 넣는다. 시놀로지는 DSM과 자사 패키지 취약점은 Security Advisory를 보라고 했다. KISA 보호나라 보안공지와 함께 주 1회 본다.
흔적 점검
권고문과 KISA 공지에는 공격 IP, 파일 이름 같은 침해 지표가 없다. 아래는 일반 점검이라 신호 하나로 침해를 확정할 수 없고, 아무것도 안 나왔다고 안전하다는 뜻도 아니다. 기간은 10월 17일부터 잡는다(KISA는 최소 10월 20일 이후 전체).
| 확인할 곳 | 볼 내용 | 근거 |
|---|---|---|
로그 센터 > 로그 |
처음 보는 IP·지역의 관리자 로그인, 실패가 몰린 뒤의 성공, 근무 시간 밖 접속 | 시놀로지(연결 로그 정기 확인 권고), 판단 기준은 일반 점검 |
오른쪽 위 사람 아이콘의 개인 > 계정 > 계정 활동 > 로그인 기록 |
내가 하지 않은 로그인. 캡처한 뒤 신뢰하지 않음으로 설정하면 연결된 현재 접속이 끊긴다 |
시놀로지 도움말 |
제어판 > 사용자 및 그룹 |
모르는 관리자 계정, 최근 권한이 바뀐 계정 | 일반 점검 |
web·web_packages 공유 폴더 |
10월 17일 이후 생기거나 바뀐 .php 파일, 업로드 폴더 안의 PHP 파일 | 일반 점검(웹 루트의 새 PHP 파일은 PHP2Shell 공통 지표) |
| 웹 서버·PHP 오류 기록 | 메모리 한도 오류와 워커 비정상 종료가 큰 multipart 요청과 같은 시각에 몰렸는지 | PHP2Shell 공통 지표. NAS 안 로그 위치는 공개 문서로 확인하지 못했다 |
- SSH를 이미 쓰고 있다면(일반 점검):
sudo find /volume1/web -type f -name "*.php" -ctime -14로 최근 14일 안에 생기거나 바뀐 PHP 파일을 뽑는다. 조회 일수는 실행 날짜와 10월 17일의 날짜 차이에 1을 더해 잡고(-ctime은 생성 시각이 아니라 파일 상태가 바뀐 시각 기준),web_packages도 같은 방법으로 본다. 걸린 파일은 지우지 말고 사본을 남긴다.
유지보수 업체·외주에 맡겼다면
NAS를 관리하는 업체가 따로 있다면 아래를 서면으로 요청하고 회신 기한을 정한다. '최신으로 올렸다'는 한 줄 답이면 증빙을 다시 받는다.
- NAS별 DSM 버전과
설치됨화면 캡처(Calendar, Mail Station, PHP 빌드 번호) - 업데이트 일시와 전후 빌드
- 외부 노출 목록: 포트 전달, QuickConnect로 연 앱, 사용자 지정 도메인·별칭, 역방향 프록시, 업체 원격 관리용 포트와 계정
- 수정판이 없는 패키지(PHP 7.3, 구형 DSM의 Calendar·Mail Station)의 조치와 일정
- 10월 17일 이후 로그 점검 결과와 점검 기간, Mail Station 대체 계획
업체가 원격 관리 도구나 공용 관리자 계정을 쥐고 있다면 유지보수 업체 원격관리(RMM) 공급망 리스크 점검 가이드도 함께 본다.
자가점검
'아니오'가 나온 항목부터 대응 순서로 돌아간다.
1. NAS마다 DSM 버전과 Calendar·Mail Station·PHP 빌드를 적어 두었는가
밖에서 보이는 값이 아니라 설치됨의 빌드 번호가 기준이다.
2. 설치된 PHP 패키지가 모두 DSM에 맞는 수정 빌드 이상인가
PHP 7.4와 8.0은 DSM 버전마다 수정 빌드가 다르다.
3. DSM 7.0·7.1의 Mail Station을 10333 기준으로 판정했는가
권고문 표에 있는 20333은 릴리스 노트상 DSM 7.2·7.3용 빌드다.
4. PHP 7.3을 쓰는 사이트나 프로필이 남아 있지 않은가
PHP 7.3은 수정판이 나오지 않는다.
5. 수정판이 없는 Calendar·Mail Station이 인터넷에서 열리지 않는가
DSM 7.0·7.1·6.2의 Calendar와 DSM 6.2의 Mail Station은 공지된 수정 빌드가 없다.
6. 포트 전달, QuickConnect, 사용자 지정 도메인, 역방향 프록시를 모두 확인했는가
한 길을 막아도 다른 길이 열려 있으면 화면은 그대로 밖에 보인다.
7. 10월 17일 이후 로그 센터 기록과 web 공유 폴더를 점검하고 결과를 남겼는가
아무것도 나오지 않았다면 그 사실과 점검 기간을 적어 둔다.
밖에서 보이는 NAS 화면부터 무료로 확인하기
보안 전문 기업 SENTRIX의 무료 취약점 스캐너로 NAS 화면 노출 확인 페이지에 회사 도메인 주소를 넣으면, 그 주소의 첫 화면(기본 포트 443·80) 공개 응답에서 시놀로지 NAS 로그인 화면(DSM), Web Station 기본 화면, Mail Station 웹메일이 인터넷에 열려 있는지 본다. 패키지 빌드는 밖에서 보이지 않으므로 결과는 '확인 필요'까지만 알려 주고 영향 여부는 판정하지 않는다. 5000·5001 같은 NAS 기본 관리 포트와 /calendar·/mail 같은 별칭 경로는 보지 않으니, 그쪽으로 연 화면은 이 점검으로 찾지 못한다. 직접 운영하거나 점검을 맡은 사이트만 넣는다. 회사 도메인에서 출발해 밖에서 보이는 서버와 관리 화면을 찾고 담당자와 조치 순서까지 정리하려면 SENTRIX ASM의 외부 노출 점검이 맞다. 자산 소유와 점검 권한을 확인한 범위에서 진행하며, 대상과 일정은 밖에서 보이는 NAS·관리 화면 점검 문의에서 상의한다.
참고 자료
- Synology, Synology-SA-26:14 PHP2Shell(2026-10-22, 2026-10-29 개정)
- KISA 보호나라, Synology 제품 보안 업데이트 권고(2026-10-29)·PHP 보안취약점(PHP2Shell) 관련 기업 보안 대응 수칙(2026-10-22)
- Synology, 릴리스 노트 Calendar·Mail Station·PHP 7.4·PHP 8.0·PHP 8.1·PHP 8.2·PHP 8.3·PHP 8.4(2026-10-30 확인)
- Synology, Mail Station 및 Synology Mail Server의 지원 종료 선언(2025-10-08)
- Synology 다운로드 아카이브, Calendar·PHP 7.4 7.4.33-0010(2026-10-30 확인)
- Synology 지식 센터, 정보 센터·패키지 관리·패키지 센터 구성·로그·누군가 내 계정으로 로그인했다면(2026-10-30 확인)
- Synology 지식 센터, DSM에서 방화벽을 어떻게 구성합니까?·QuickConnect·로그인 포털 응용 프로그램·고급·DSM·Synology Calendar(2026-10-30 확인)
- Synology 지식 센터, Web Station 웹 포털·스크립트 언어 설정·랜섬웨어 공격 예방·Mail Server에서 MailPlus Server로 마이그레이션(2026-10-30 확인)
- PHP, Security advisory: Critical remote code execution vulnerabilities, update now(2026-10-21)
- PHP 보안팀, GHSA-w8hw-w9fx-j79w(2026-10-21)
- AWS, Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPot(2026-10-21)