나도 며칠 전 당했음. 9월 1일에 온 “지금 업그레이드해 달라”는 이메일을 완전히 놓친 채 13개월 된 버전을 실행하고 있었음. 홈 서버 사용률이 100%라는 알림을 받고 바로 채굴기를 발견함. 그나마 프로세스 이름을 mylovelyminer 로 붙여 둔 친절함은 있었음.
프로세스를 숨기려 하지 않는 채굴기는 나도 고맙게 느껴짐. 인수받은 PHP 앱이 해킹당해 채굴에 쓰이고 있었는데, 실행된 프로세스의 인자에 지갑 키까지 들어 있었음.
Reddit에 침해당했다는 글이 많이 올라오고 있음. 채굴기뿐 아니라 DDoS 노드 같은 다른 악성 프로그램도 설치됨.
이 공격에 쓰이는 개념 증명 익스플로잇은 Plex2Shell이며, LLM이 여러 CVE를 연결해 만들었음. https://zmain.info/blog/plex2shell.
공격 체인의 1단계와 3단계가 충격적임. 대규모 코드베이스의 보안이 어렵다는 건 알지만, 이건 잘못된 설계를 적극적으로 선택한 것처럼 보임.
1단계에서는 한 엔드포인트가 토큰 헤더의 존재 여부만 확인하고 내용은 검사하지 않음. 분석 글을 보면 다른 엔드포인트들은 내용을 검사하는 것 같은데, 왜 이것만 다를까?
3단계에서는 호스트가 127.0.0.1인지가 아니라 URL이 http://127.0.0.1로 시작하는지만 확인한 뒤 관리자 토큰을 노출함.
며칠 전 내 Mac mini에도 채굴기가 들어왔음. 마침 같은 방에 앉아 있다가 팬이 과하게 돌아가는 소리를 듣고 알아챔. icloud-services 라는 프로세스가 CPU를 100% 쓰고 있었는데, 악성코드보다 Apple이 무한 루프 버그를 냈겠다는 생각이 먼저 들었다는 것 자체가 Apple의 현실을 보여줌.
재부팅한 뒤 추적해 보니 Library/Application Support 안의 폴더에 config.json이 있었고, gulf[.]moneroocean[.]stream이 적혀 있어 침해를 확신함. 파일과 실행 데몬을 지우는 건 어렵지 않았지만 성가신 일이었음.
이 기기는 개발용이 아니라 Plex 등을 돌리는 용도라서, 본문에 나온 것과는 다른 Plex 취약점이나 macOS 자체 취약점이었을 것으로 봄. Plex는 최신 버전이었지만 macOS는 원격 코드 실행(RCE) 관련 중요 보안 업데이트로 보이는 Sequoia 15.8보다 뒤처져 있었음.
OS가 구버전이어도 Plex만 최신이면 괜찮을 줄 알았는데, 안심할 수 없겠네.
대체 왜 Plex를 공개 인터넷에 노출해 둔 건가?
최근 UI 업데이트 이후 PC 브라우저 외에서는 Plex를 못 쓰겠음. 너무 느려서 이제 사실상 Jellyfin밖에 선택지가 없음. 이번 변경은 바이브 코딩으로 만든 건가?
새 UI를 싫어하는 분위기가 널리 퍼져 있는 것 같음. 내가 알기로는 여러 기기에 쉽게 배포하려고 공통 코드베이스로 바꿨는데, 사실상 모든 기기의 사용자 경험을 희생한 셈임. iPhone 같은 기기에서도 네이티브 동영상 서비스를 사용하지 않음.
Plex UI를 대체하는 오픈소스 앱 Pleezy를 잘 쓰고 있음. 우리가 겪은 유일한 문제는 절전 해제 후 다른 동작을 하려면 뒤로 가기를 한 번 눌러야 한다는 것임. 나중에 디버깅해서 고칠 수 있는지 볼 예정임.
내 Shield에서는 못 쓸 정도는 아니지만 확실히 나빠짐. 단순히 변화가 싫어서가 아니라 실제로 사용성이 떨어짐.
시즌과 에피소드를 선택하면 바로 재생되는 대신 에피소드 줄거리가 나옴. 재생 중 뒤로 가기를 누르면 어떤 때는 옆 메뉴가 뜨고, 어떤 때는 정상적으로 재생 화면에서 나감. Plex는 왜 이러는 걸까?
Xbox 클라이언트에는 새 UI가 적용되지 않아 약 6개월 전부터 그쪽으로 옮겨 사용 중임. 덤으로 Roku도 완전히 치울 수 있었음.
내 Fire Stick에서는 완전히 못 쓸 수준이라 결국 예전 APK를 직접 설치함.
공격자들이 매번 이렇게 창의력이 없다는 게 놀라움. 2026년에 채굴기라니? 그렇게 해서 버는 푼돈만큼은 참 열심히 벌고 있음.
인터넷에 노출된 Plex 서버라니, 무서운 일임. 누가 이런 걸 외부에 열어 두고 운영하는 건가?
아마 Plex Pass 구독자 대다수, 그리고 전체 Plex 사용자 대부분이 그렇게 할 것임.
내가 보기에 Plex의 주된 목적은 합법적으로 확보한 디지털 미디어를 많이 가진 사람이 세계 어디서나 거의 아무 기기로 편하게 접속하고, 친구와 가족에게도 접근 권한을 나눠 주는 것임.
집에서는 Kodi, Jellyfin을 비롯한 여러 개방형 소프트웨어를 쓰지만 여행 중에는 Plex가 가장 편함. 동영상을 재생할 수 있는 기기라면 거의 다 지원하고, VPN을 연결하거나 남의 기기에 비밀번호를 입력하지 않고도 몇 초 만에 로그인할 수 있음.
인터넷 공개는 Plex가 의도한 사용 방식임. 이상하거나 지원하지 않는 구성이 아니라, 초대한 여러 사용자가 로그인해 미디어에 접근하도록 설계된 서비스임. 모두가 tailnet 같은 사설망에 들어와야 한다면 이 방식은 성립하지 않음.
웹 페이지를 제공하는 nginx보다 덜 안전할 수는 있지만, 결국 어디까지 신뢰할지의 문제임. 혼자 쓴다면 다르겠지만 친구와 가족 모두에게 tailnet 접속을 요구하기는 현실적으로 어려워서, 최신 Plex를 유지하며 위험을 감수하고 인터넷에 공개함.
많은 사람이 그렇게 함. TV나 친구들이 접속해야 하는데, 그들에게 Tailscale 사용법까지 설명하고 싶지는 않기 때문임.
공개하지 않을 이유가 뭔가? 진짜 비판받아야 할 건 엉망인 현대 웹 앱 백엔드들임.
나도 공개해서 쓰고 있음. Plex를 쓰는 이유는 기술에 익숙하지 않은 사용자와 라이브러리를 공유하기 위해서임. 그럴 필요가 없다면 Jellyfin조차 쓰지 않고 SMB 공유와 mpv만으로 충분함.