PHP 이어 Node.js에서도…조작된 데이터 받기만 해도 ‘서버 장악’

2 hours ago 3

노드제이에스에서 인증 없이 서버를 장악할 수 있는 취약점 ‘노드투셸’이 나왔다. 22·24·26 계열 이용자는 보안 패치 적용이 필요하다. 사진=게티이미지코리아 웹 생태계를 강타한 ‘PHP 쇼크’에 이어 노드제이에스(Node.js)에서도 인증 없이 서버를 장악할 수 있는 취약점이 나왔다.26일 티오리(대표 박세준)는 노드제이에스 취약점 ‘노드투셸(Node2Shell)’을 재현·검증하고 대응 가이드를 공개했다.노드제이에스는 자바스크립트로 작성한 프로그램을 서버 등에서 실행하도록 해주는 소프트웨어다. PHP처럼 이용자 요청을 서버에서 처리하는 역할을 맡는다.문제는 개발자가 압축 해제 기능을 직접 쓰지 않아도 공격에 노출될 수 있다는 점이다. 본래 노드제이에스의 기본 서버는 압축을 스스로 풀지 않지만, 웹 서버 제작 도구가 이를 자동으로 풀어주면 조작된 데이터가 그대로 압축 해제 단계까지 들어온다.서버가 외부에서 데이터를 받아올 때도 공격당할 수 있다. 공격자의 서버가 보낸 압축 응답을 푸는 과정에서 메모리가 손상될 수 있다. 이 경우 서버 앞단에서 요청을 걸러내는 것만으로는 막을 수 없다.● 코드 결함 없어도 기반 기술 버전 따라 공격 노출노드투셸은 노드제이에스에 탑재되거나 연결된 브로틀리(Brotli) 압축 해제 모듈의 결함에서 비롯됐다. 브로틀리는 웹에서 주고받는 데이터 크기를 줄이는 압축 방식이다. 노드투셸은 압축을 푸는 과정에서 정해진 메모리 범위 밖에 데이터를 처리하다 프로그램 메모리가 손상되는 결함이다.노드제이에스 공식 기준 위험도는 ‘높음’이다. 공격자는 로그인 같은 인증 절차 없이 조작한 데이터를 보내는 것만으로 원격으로 서버를 멈추게 하거나 장악할 수 있다. 개발자가 짠 코드에 문제가 없어도 취약점이 있는 노드제이에스 버전을 쓰면 공격 대상이 될 수 있다.티오리는 앞서 PHP 자체 결함인 ‘PHP투셸(PHP2Shell)’도 재현해 대응법을 내놨다. 노드투셸도 PHP투셸처럼 웹사이트 구현 방식과 관계없이 영향을 받는다. 브로틀리 데이터가 압축 해제까지 닿는 경로만 있으면 된다.● 업데이트가 우선…패치 어려우면 임시 조치라도티오리는 노출 경로로 △‘익스프레스 5’에서 이용자가 보낸 데이터를 읽어 들이는 기능(body-parser) △노드제이에스가 외부 데이터를 받아올 때 쓰는 요청 기능 ‘fetch()’ △통신 라이브러리(axios·got·node-fetch 등)를 꼽았다.이번 취약점의 영향을 받는 버...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵