패치가 아직 나오지 않은 이유는 릴리스를 담당하는 소수 인력이 아직 자고 있기 때문임.
솔직히 유출된 영상 때문에 그 시점에 공지하게 됐는데, 이후 공격 코드가 이렇게 빨리 공개돼 나도 충격을 받았음. LLM을 감안하더라도 시간이 조금 더 있을 것으로 예상했음.
이번 일을 계기로 업계가 알려진 취약점의 수정 배포를 미루는 것은 나쁜 정책이라는 사실을 배우길 바람.
경찰이 가서 깨워야 함.
개인 사이트에서 시험해 봤는데 데이터베이스 전체를 덤프할 수 있었음. 즉시 내 사이트를 전부 내렸고, 상황이 심각함.
나도 서비스를 내려야 하는지 확인하려면 어떻게 시험해 볼 수 있나? 6자리 금액 규모의 비공개 사업을 운영하고, 본업은 9자리 금액 규모의 핀테크 회사인데 전부 PHP라 걱정됨.
공격 코드가 이미 공개됨. 역대 최악의 취약점으로 기록될 것 같고, 이제 LLM까지 있으니 몇 시간 안에 수만 개의 에이전트가 온갖 PHP 웹사이트를 공격할 가능성이 커 보임.
X에서 신뢰할 만한 여러 사람이 공격 코드를 봤거나 찾아냈다고 하는 것을 확인함. session.upload_progress.enabled를 끄고 file_uploads = Off로 설정하면 완화된다는 쪽도 있지만, 그것으로는 부족하며 “기본 RINT가 BG(serialize)를 지우기 전에 업로드 진행률 기능이 직렬화를 수행할 수 있다”는 쪽도 있음. 위험을 감수하지 않고 서비스를 오프라인으로 전환함. https://x.com/MagicalTux/status/2112725774025572431 https://x.com/rina4_tot/status/2112723421641531772
이 공격 코드에 비밀정보를 빠르게 빼내 활용하는 에이전트형 AI가 결합하면, 네트워크 보안에서도 일종의 케슬러 증후군 같은 연쇄 재앙을 촉발할 수 있다고 봄.
Twitter에서 공격 코드가 공유되고 있다는 소문이 사실이라면 악몽이 될 것 같음. 저가형이거나 관리되지 않는 LAMP 설치 환경이 VPS 서버에 워낙 많아서, VPS 호스팅 업체가 직접 완화 조치에 나서더라도 놀랍지 않을 듯함.
오늘 Twitter에 시연 영상이 돌고 있으며, 개념 증명 코드도 비공개로 공유되는 모양임. 영상에서는 URL에 무언가를 붙여 넣은 뒤 서버의 셸을 얻는 것처럼 보여, 완전히 재앙적인 수준으로 느껴짐.
가장 나은 대응은 패치가 나올 때까지 서버를 끄고, 패치를 적용한 뒤 다시 켜는 것이라고 봄.
그 URL은 공격 결과를 보여주기 위한 것임. 실제로는 Python 스크립트로 취약점을 공격해 PHP가 임의의 셸 명령을 실행하게 함. 개념 증명에서는 웹 서버의 공개 접근 경로에 pwned를 기록한 다음, 해당 URL을 열어 둔 브라우저를 새로고침해 기록됐음을 보여줌.
PHP 버전에 패치가 제공되지 않거나, 사용자가 외주업체를 통해 호스팅을 관리하거나, 업체가 자체 구성 서버들을 운영하는 등 수많은 LAMP 기반 WordPress 설치 환경이 큰 피해를 입을 것 같음.
혹시 모를 위험을 피하려고 MediaWiki 사이트를 일시 중단함. Twitter 영상들이 무섭게 보임.
영상 링크를 받을 수 있을까?
상황이 정리되면 LLM에 패치 전 소스 코드를 주고 이 취약점 연쇄를 찾아낼 수 있는지 시험해 보면 흥미로울 듯함. 전체 연쇄를 찾지 못하더라도, 구성 요소인 버그 하나라도 발견하고 그 심각성을 알아볼 수 있을까?
못 한다면 왜 못 하는 걸까? 할 수 있다면 왜 이미 찾아내지 못했을까?
애초에 이 버그도 그렇게 발견된 것 아닐까?
사이버 보안을 계기로 소프트웨어 개발에 입문했는데, 배운 내용 대부분이 잘못 구현된 PHP 코드와 관련돼 있어 직접 개발할 때는 늘 피했음. 그런데 이번에는 PHP 자체의 취약점이라니 무섭게 느껴짐.
요즘은 운영체제를 포함해 거의 모든 소프트웨어에 정기적으로 보안 패치가 나오는데, 이번 공지가 특별히 눈에 띄는 이유가 무엇인가? 게시물만 보면 악용되기 전에 취약점을 발견하고 수정하는 등 선제적으로 대응한 것으로 보임. 침묵하거나 아무것도 하지 않는 것보다 투명하게 대응하는 편이 나음.
이번 일이 PHP에 결정타가 될 수도 있음.
컴퓨터 보안에서 입증된 LLM의 역량을 보면, NodeJS, Java, Go, Rust 등에서도 비슷한 문제가 생길 것에 대비해야 함.
PHP가 죽었다기보다는 좀비 대재앙에 가까운 것 아닌가? 설치 수가 수십억 개인데 죽었다고 하기는 어려움.