라이믹스 2.0.19로 업데이트하세요.
릴리즈 노트: https://rhymix.org/news/334
업데이트를 미루고 계신 분들을 위해 구버전 패치도 별도로 배포합니다. 이번이 정말 마지막입니다.
외부페이지로 불러오는 로컬 파일에 PHP 코드나 템플릿 코드가 포함되어 있는 경우, 이를 이용하여 공격자가 서버단에서 실행되는 임의의 코드를 주입할 수 있는 원격 코드 실행(RCE) 취약점입니다. 얼마 전 떠들썩했던 log4j 취약점과 유사한 형태로, 2007년 가을 이후 공개된 모든 버전에 문제가 있습니다. RXE 역사상 가장 오래 묵은 보안취약점이 아닐까 싶네요.
외부페이지에서 템플릿 코드를 사용하지 않더라도 PHP 코드가 한 줄이라도 있다면 위험한 것은 마찬가지이니 안심하지 마시기 바랍니다. 외부페이지 내용을 변환하는 과정이 잘못 설계되어서 관리자가 쓰지 않은 템플릿 코드를 공격자가 임의로 삽입할 수 있다는 점이 문제의 핵심이니까요. (위젯 코드, CSS, JS 코드는 괜찮습니다. 다른 사이트의 URL을 불러오는 외부페이지도 이번 취약점과는 무관하지만, 그건 그것대로 위험한 짓이고...)
라이믹스 2.0.19로 업데이트하시면 모든 외부페이지에서 <[email protected](조건문)-->, {$var}, <load target=""> 등의 템플릿 코드가 작동하지 않게 됩니다. 각 페이지 설정에서 템플릿 코드 해석 여부를 선택하는 옵션이 있으나 기본값이 OFF이므로, 필요한 페이지에 한하여 다시 켜시면 됩니다. 템플릿 코드 해석 기능을 켜더라도 현재 알려진 취약점과 관련해서는 안전합니다. 그러나 유사한 취약점이 또 발견될 수도 있으니, 앞으로는 가급적 외부페이지에서 템플릿 코드 사용을 자제하시기 바랍니다.
라이믹스 1.x 및 XE 1.x용으로 배포하는 패치도 템플릿 코드가 작동하지 않게 되는 것은 마찬가지이지만, 다시 켤 수 있는 옵션 없이 무조건 다 막힙니다. 따라서 외부페이지에서 템플릿 코드를 모두 제거해야 정상 작동하게 됩니다. 템플릿 코드가 꼭 필요한 분은 라이믹스 2.0.19 또는 그 이후 버전으로 업데이트하는 것이 유일한 선택지입니다.
그렇다고 패치를 미루면 더 곤란합니다. RCE 취약점은 관리자 권한 탈취, 민감한 정보 노출은 물론, 사이트를 고스란히 삭제해 버릴 수도 있는 매우 위험한 문제입니다. 얼마 전 log4j 취약점이 알려졌을 때는 마인크래프트를 해킹해서 전혀 다른 게임으로 치환하거나, 남의 사이트를 강제로 패치해 주는 일명 "백신"까지 나왔을 정도로 활용도가 높지요. XSS, CSRF 등 흔히 알려진 취약점 유형과 달리, 사실상 뭐든지 가능한 백지수표라고 보면 됩니다. 일부 외부페이지를 수정할 수 있을 때까지 닫아 두느냐, 사이트를 통째로 빼앗기느냐, 선택은 자유이고 책임은 오롯이 님의 몫입니다.
타운에 계실 가능성은 없지만 XE1용 비공식 보안패치 버전도 출시되었습니다.
수정) 혹시 opage 모듈이 설치되어 있다면 제일 좋은건 페이지 모듈의 외부페이지 기능으로 옮기는것이지만, 첨부된 opage.zip 파일 받아서 opage 폴더를 덮어씌우셔도 됩니다. 제거전 최신버전인 1.5.0.3_beta 기준 수정본입니다.