CVE-2026-48528 in Metacat정보

요약

\~에 의해 VulDB • 2026. 08. 14.

Metacat은 연구자들이 데이터를 보존하고 공유하며 발견할 수 있도록 돕는 데이터 저장소 소프트웨어입니다. Metacat 버전 2.0.0부터 3.4.0까지에는 `/cn/v1/object` 및 `/cn/v2/object` REST API 엔드포인트에서 비인증 SQL Injection 취약점이 존재합니다. 이는 백엔드 SQL 데이터베이스로 전달되는 사용자 입력이 적절히 검증되지 않았기 때문에 발생합니다. `nodeId` 매개변수를 수정하여 SQL 명령어를 주입할 수 있으며, 그 결과는 오류 메시지에 반환됩니다. Metacat은 사용자가 제공한 데이터를 정제나 파라미터화 없이 SQL 쿼리에 직접 연결합니다. 이를 통해 공격자는 하위 PostgresQL 데이터베이스에서 임의의 데이터를 추출하여 보호된 정보를 완전히 노출시킬 수 있습니다. 이는 Metacat의 오류 보고 메커니즘을 악용함으로써 달성되는데, 여기서 SQL 오류 응답은 Metacat이 반환하는 XML 형식의 오류 메시지에 반영되어 호출자에게 전달됩니다. 예를 들어, PostgreSQL의 `CAST` 함수를 사용하여 임의의 서브쿼리 결과를 포함한 오류를 생성하고, 이를 Metacat에서 반환되는 XML 오류 메시지에 주입할 수 있습니다. 공격자는 인증 없이도 이 취약점을 악용할 수 있습니다. 또한, Metacat 데이터베이스에 데이터를 삽입, 업데이트 및 삭제하는 임의의 SQL 문을 실행하여 데이터베이스 내 모든 데이터가 완전히 침해될 수 있습니다. 이러한 취약점에 대한 완전한 Proof of Concept(POC) 공격이 개발되어 검증되었습니다. 이 취약점의 영향은 DataONE 네트워크에서 Metacat을 배포할 때 심각합니다. 이는 데이터베이스로부터 정보가 유출되거나 추가, 변경, 삭제될 수 있음을 의미하며, 여기에는 데이터 카탈로그에 관한 관리 정보, 누가 데이터에 접근했는지 나타내는 액세스 로그 정보, ORCID 식별자 및 클라이언트 IP 주소를 포함한 개인 신원 정보, 데이터를 읽고 수정할 수 있는 권한이 있는 사용자에 대한 액세스 제어 정보, 그리고 데이터 시스템의 기타 중요한 내부 정보가 포함됩니다. 이 SQL Injection 취약점은 Metacat 버전 3.4.1에서 완전히 해결되었습니다. 즉시 Metacat 3.4.1로 업그레이드하는 것이 불가능한 경우, 대부분의 배포 환경에서는 웹앱 배포 시 `/cn` REST 엔드포인트를 비활성화하여 문제를 완화할 수 있습니다. 이 API는 DataONE 네트워크의 멤버 저장소에서는 필요하지 않거나 사용되지 않으며, 오직 DataONE 조정 노드(Coordinating Node) 배포에서만 사용됩니다. 따라서 대부분의 배포 환경에서 기능 저하 없이 해당 API를 비활성화할 수 있습니다. 취약한 엔드포인트를 비활성화하려면 `edu.ucsb.nceas.metacat.restservice.v1.CNRestServlet` 및 `edu.ucsb.nceas.metacat.restservice.v2.CNRestServlet` 두 서블릿과 관련된 `/cn` 엔드포인트의 서블릿 및 servlet-mapping을 해당 서블릿 엔진에서 제거하십시오. 예를 들어, Tomcat 환경에서는 Metacat의 application web.xml 파일에서 관련 `servlet-mapping` 요소를 삭제하면 됩니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

GitHub M

예약하다

2026. 05. 21.

모더레이션

수락

항목

VDB-390069

EPSS

0.00000

활동

낮음

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!