한국정보기술진흥원
한국정보기술신문
thumbnail

정보보안 ·

Notepad++ DLL 하이재킹 취약점 발견...수백만 사용자 위험

발행일
읽는 시간2분 20초

인기 소스 코드 편집기 Notepad++에서 공격자가 악성 코드를 실행할 수 있는 DLL 하이재킹 취약점이 발견됐다.

[한국정보기술신문] CVE-2025-56383으로 추적되는 취약점이 Notepad++ 버전 8.8.3에서 발견됐다. 이 취약점은 잠재적으로 설치된 모든 버전에 영향을 미칠 수 있어 전 세계 수백만 명의 사용자가 위험에 노출된 것으로 나타났다.

이번 취약점은 로컬 공격자가 애플리케이션이 로드하는 위치에 악성 DLL 파일을 심어 임의 코드를 실행할 수 있게 한다. 이러한 유형의 공격은 애플리케이션의 무결성을 훼손하며, 침해된 시스템에서 지속성을 확보하거나 권한을 상승시키는 데 사용될 수 있다.

공격 원리 및 실증 코드 공개

DLL 하이재킹은 Windows 애플리케이션이 필요한 라이브러리를 검색하고 로드하는 방식을 악용한다. 애플리케이션이 전체 경로를 지정하지 않고 DLL을 검색하면 미리 정의된 순서로 여러 디렉터리를 탐색한다.

공격자는 정상 라이브러리와 동일한 이름의 악성 DLL을 실제 라이브러리 위치보다 먼저 검색되는 디렉터리에 배치할 수 있다. 사용자가 애플리케이션을 실행하면 의도된 라이브러리 대신 악성 DLL이 로드되고 실행된다.

Notepad++의 경우 플러그인과 관련된 DLL을 타겟팅하여 취약점을 악용할 수 있다. 실증 코드에 따르면 공격자는 Notepad++ 플러그인 NppExport 디렉터리에 있는 NppExport.dll 같은 플러그인 파일을 맞춤 제작된 악성 DLL로 교체할 수 있다.

탐지를 피하고 애플리케이션이 정상적으로 작동하도록 하기 위해 공격자는 원본 DLL의 이름을 변경하고 악성 대체 파일이 모든 정상 함수 호출을 원본에 전달하도록 할 수 있다. 프록시라고 알려진 이 기법은 악성 페이로드가 백그라운드에서 실행되는 동안 사용자에게 애플리케이션의 동작이 원활하게 보이도록 만든다.

지속성 확보 수단으로 악용 가능

이 취약점의 주요 위협은 로컬 코드 실행이다. 이미 멀웨어, 피싱 또는 기타 수단을 통해 시스템에 초기 액세스를 얻은 공격자는 이 결함을 사용하여 지속성을 확보할 수 있다.

Notepad++처럼 일반적으로 사용되는 애플리케이션에서 DLL을 하이재킹하면 사용자가 편집기를 열 때마다 공격자의 코드가 실행되어 시스템 재부팅 후에도 멀웨어가 유지된다.

공식 설치 프로그램을 통해 설치된 Notepad++ 버전 8.8.3에서 실증이 수행됐지만, 근본적인 문제는 애플리케이션이 구성 요소를 로드하는 방식에 있어 설치된 모든 버전이 취약할 수 있음을 시사한다.

공식 패치 아직 없어...사용자 주의 필요

현재 CVE-2025-56383을 해결하기 위한 Notepad++ 개발자의 공식 패치는 없는 상태다. 사용자는 주의를 기울이고 시스템에 사전 감염이 없는지 확인해야 한다.

시스템 관리자는 무단 수정을 탐지하기 위해 애플리케이션 디렉터리에 파일 무결성 모니터링을 구현하는 것을 고려해야 한다. 수정 사항이 릴리스될 때까지 사용자는 공식 소스에서만 Notepad++를 다운로드하고 애플리케이션의 예상치 못한 동작을 경계해야 한다.

CVE 할당 기준에 대한 의문 제기

한편 이번 취약점을 둘러싸고 CVE 할당 기준에 대한 논란이 일고 있다. 이 취약점은 공격자가 이미 로컬 시스템에 접근 권한을 확보한 상태에서만 악용 가능하다는 점에서 원격 취약점과는 근본적으로 다른 위협 수준을 갖는다.

공격자가 시스템에 파일을 배치할 수 있는 권한이 있다면 DLL 하이재킹 외에도 다양한 방법으로 악성 코드를 실행할 수 있다. 이러한 상황에서 애플리케이션 자체의 취약점으로 CVE를 할당하는 것이 적절한지에 대한 의문이 제기된다.

보안 전문가들은 이러한 방식의 CVE 할당이 계속될 경우 취약점 데이터베이스의 신뢰성과 실용성이 저하될 수 있다고 우려한다. 실제 보안 위협의 우선순위를 판단하는 데 혼란을 초래할 수 있으며, 제한된 보안 자원을 효율적으로 배분하는 데 장애가 될 수 있다는 지적이다.

이번 사례는 CVE 프로그램이 로컬 권한 상승과 원격 코드 실행을 명확히 구분하고, 공격 전제 조건의 현실성을 고려한 보다 정교한 할당 기준을 마련해야 한다는 과제를 남겼다.

한국정보기술신문 정보보안분과 안서진 기자 news@kitpa.org