Adobe Commerce와 Magento Open Source를 쓰는 온라인 쇼핑몰을 노린 취약점 하나가 지난주 조용히 실사용 악용에 들어갔다. 놀라운 건 침투 경로다. 관리자 로그인 화면도, 결제 API도 아니다. 고객에게 "결제가 실패했습니다"라고 알리는 평범한 이메일 한 통을 서버가 만들어내는 과정, 그 자체가 코드 실행 창구였다. Adobe는 9월 7일 긴급 패치를 배포하면서 "실사용 환경에서 악용을 확인했다"고 공식 인정했다. 패치 전 최소 사흘은 이 구멍이 그대로 열려 있었다.
통념: CVSS 10.0이면 어디가 뚫렸을까
CVSS 10.0짜리 치명적 취약점이라고 하면 보통 인증 우회나 관리자 계정 탈취, 혹은 결제 처리 API의 허점을 떠올린다. 공격 표면이 넓고 눈에 잘 띄는 부분이기 때문이다. 그런데 이번 취약점, 보안업체 Sansec이 "StyleSmuggler"라 이름 붙인 은 전혀 다른 길을 택했다. 고객 대응용 자동 이메일을 만드는 백오피스 기능이었다.
실제 침투 경로: 이메일 렌더링이 실행 창구였다
Sansec 분석에 따르면 공격은 두 단계로 진행된다. 먼저 공격자는 Magento의 실패 리포트(failure report) 생성 과정에 손을 대 styles 속성을 통해 PHP 코드를 밀어 넣는다. 이 코드는 그 자체로는 실행되지 않는다. 문제는 다음 단계다. 매장 시스템이 "Payment Transaction Failed Reminder"라는 이름의 결제 실패 알림 이메일을 만들려고 그 템플릿을 불러와 렌더링하는 순간, 심어둔 코드가 실행된다. 정상적인 운영 흐름 안에 공격 트리거를 숨긴 셈이다.
백도어의 위장술
이 단계에서 심어지는 건 두 겹이다. 하나는 485바이트짜리 가벼운 PHP 웹쉘로, 상품 이미지 캐시 폴더 안에 랜덤한 이름으로 자리잡고 특정 헤더가 붙은 요청만 명령으로 받아들인다. 다른 하나는 정적 링크된 Rust 바이너리 백도어다. 이 바이너리는 kworker, fc-cache, chronyd 같은 리눅스 시스템의 정상 프로세스 이름을 그대로 빌려 쓴다. 관리자가 프로세스 목록을 훑어봐도 특별히 의심스러워 보이지 않게 만드는 방식이다.
통신도 위장돼 있다. NTP처럼 보이는 UDP 트래픽 뒤로 실제 명령 채널을 숨기고, 60초마다 호스트 정보를 외부로 보고한다. 디버거가 붙었다고 판단되면 스스로 활동을 멈춘다. 이런 흔적을 잡으려면 특정 IP나 도메인을 외우는 것보다, 왜 웹서버 계정이 낯선 cron 작업을 갖고 있는지, 왜 fc-cache라는 이름의 프로세스가 외부로 주기적인 네트워크 연결을 만드는지 같은 행위 기반 질문을 던지는 쪽이 더 오래 유효하다.
왜 "피해 스토어 11만 개"라는 숫자는 믿으면 안 되나
이 취약점을 검색하다 보면 전체 설치본의 75%가 영향받았다거나 4,275개 스토어가 뚫렸다는 식의 구체적인 숫자, 그리고 유명 브랜드 실명이 함께 도는 걸 볼 수 있다. 이 숫자들을 이번 사건에 그대로 옮겨 쓰면 안 된다. 확인 결과 이 통계는 2024년에 있었던 별개의 Magento 취약점 CosmicSting() 사건에서 나온 것이다. StyleSmuggler와는 관련이 없다.
정작 Sansec의 원본 리서치, Adobe의 공식 게시판, 뒤이은 Tenable과 NetSPI의 분석 어디에도 이번 으로 인한 전체 피해 스토어 수를 검증된 형태로 집계한 자료는 없다. 확인된 건 개별 피해 사례 정도다. 급하게 퍼진 큰 숫자일수록 다른 사건의 통계가 섞여 들어왔을 가능성을 의심하는 편이 안전하다.
타임라인
Sansec은 9월 4일 밤(UTC) 실사용 악용을 처음 확인했고, 이튿날인 5일 사전 권고를 공개했다. Adobe는 9월 7일 저녁 핫픽스 VULN-39341을 배포했다. 미국 CISA는 다음날인 8일 이 취약점을 알려진 악용 취약점 목록에 올리고 연방기관에 9월 11일까지 조치를 마치라고 요구했다. 발견부터 패치까지 사흘, 그 사이 노출 창은 그대로 열려 있었다.
한국 관점
국내에서 Adobe Commerce나 Magento Open Source를 직접 도입해 운영한다는 공식 사례나 KISA·KrCERT의 별도 경고는 확인되지 않는다. 다만 오픈소스 쇼핑몰 플랫폼을 자체 구축해 쓰는 중소 이커머스 업체가 국내에도 존재할 수 있는 만큼, 결제 관련 자동 알림 기능을 커스터마이징해 쓰는 곳이라면 이번 사례가 남 일이 아니다.