Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mojarra-2.2.13-patched — CVE-2020-6950 보안 수정 사항을 Mojarra 2.2.13에 백포트한 것으로, 레거시 애플리케이션을 위한 최소한의 검토 가능한 변경 사항이 포함된 패치된 jsf-impl JAR을 제공합니다. | Kitploit
도구/GitHubGitHub/thelonelycoder/mojarra-2.2.13-patched
Vulnerability AnalysisSupply Chain SecurityLearning & EducationCurated Resources
GitHubthelonelycoder/mojarra-2.2.13-patched

mojarra-2.2.13-patched

CVE-2020-6950 보안 수정 사항을 Mojarra 2.2.13에 백포트한 것으로, 레거시 애플리케이션을 위한 최소한의 검토 가능한 변경 사항이 포함된 패치된 jsf-impl JAR을 제공합니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
12시간 42분 전아직 검토되지 않음
공유

Mojarra 2.2.13 – CVE-2020-6950 백포트

이 저장소는 CVE-2020-6950에 대한 수정 사항을 Mojarra 2.2.13에 백포트한 재현 가능한 버전을 포함합니다.

이 저장소는 주로 추적 가능성과 호환성 문제로 인해 최신 JSF/Mojarra 릴리스로 단순히 업그레이드할 수 없는 레거시 애플리케이션을 유지 관리하기 위해 존재합니다.

크레딧 및 업스트림 소스

Mojarra

Mojarra는 JavaServer Faces(JSF)의 참조 구현으로, 원래 GlassFish/Java EE 생태계의 일부로 개발되었으며 현재 Eclipse Mojarra 프로젝트로 유지 관리되고 있습니다.

이 저장소에 포함된 Mojarra 소스 코드는 제 작업이 아닙니다. 모든 크레딧과 저작권은 원래 Mojarra 작성자와 기여자에게 있습니다.

현재 업스트림 프로젝트:

  • Eclipse Mojarra: https://github.com/eclipse-ee4j/mojarra
  • Eclipse 프로젝트 페이지: https://projects.eclipse.org/projects/ee4j.mojarra

이 작업의 기반으로 사용된 수정되지 않은 Mojarra 2.2.13 아티팩트는 Maven Central에서 얻었습니다.

CVE-2020-6950 패치

여기서 사용된 보안 수정 사항은 제가 개발한 것이 아닙니다.

Mojarra 2.2.13용 백포트는 openEuler Mojarra 패키지에서 얻었으며, 여기서 CVE-2020-6950.patch가 Mojarra 2.2.13에 적용됩니다.

openEuler 패키지 소스:

  • https://gitee.com/src-openeuler/mojarra

원본 패치는 보안 수정의 출처와 정확한 성격을 추적할 수 있도록 유지되었습니다.

업스트림 Mojarra 개발자와 백포트된 보안 패치를 제공하고 게시한 openEuler 유지 관리자 및 기여자에게 감사드립니다.

이 저장소가 존재하는 이유

저는 여전히 Mojarra 2.2.13에 의존하고 CVE-2020-6950의 영향을 받는 레거시 애플리케이션을 발견했습니다.

완전한 JSF 구현을 업그레이드하는 것은 애플리케이션과 주변 프레임워크가 상당한 호환성 제약이 있는 레거시 소프트웨어이기 때문에 단기적으로 실용적인 옵션이 아니었습니다.

동시에 보안 수정이 다음과 같기를 원했습니다:

  • 공개적으로 사용 가능한 업스트림/벤더 패치에 기반할 것,
  • 최소한일 것,
  • 검토 가능할 것,
  • 재현 가능할 것,
  • 원래 Mojarra 2.2.13 구현으로 추적 가능할 것.

그 이유로 설명되지 않은 수정 바이너리를 배포하는 대신 영향을 받는 클래스를 직접 다시 빌드했습니다.

따라서 이 저장소는 보안 수정의 독립적인 구현을 나타내지 않습니다. Mojarra 2.2.13과 함께 사용하기 위해 기존에 게시된 수정 사항을 문서화하고 패키징합니다.

변경된 내용

openEuler CVE-2020-6950 패치는 세 개의 Mojarra 클래스를 수정합니다:

root@kitploit:~
com/sun/faces/application/resource/ClasspathResourceHelper.java
com/sun/faces/application/resource/ResourceManager.java
com/sun/faces/application/resource/WebappResourceHelper.java

패치는 다음을 사용하여 리소스 계약 이름의 유효성 검사를 추가합니다:

root@kitploit:~
ResourceManager.nameContainsForbiddenSequence(...)

패치된 jsf-impl-2.2.13 JAR에서는 이 세 개의 클래스만 교체됩니다.

다른 파일이 다르지 않은지 확인하기 위해 압축 해제된 원본 및 패치된 JAR의 비교가 수행되었습니다.

빌드 접근 방식

원본 Mojarra 2.2.13 소스는 게시된 openEuler CVE 패치와 함께 사용되었습니다.

완전한 역사적 Mojarra 2.2.13 빌드 환경과 오래된 빌드 종속성을 재구성하는 것은 불필요한 복잡성을 추가하고 결과를 감사하기 어렵게 만들 수 있으므로, 영향을 받는 세 개의 클래스만 다시 컴파일되었습니다.

OpenJDK 8을 사용하여 다음 옵션으로 컴파일되었습니다:

root@kitploit:~
-source 1.5 -target 1.5

결과 클래스 파일은 다음을 갖는 것으로 확인되었습니다:

root@kitploit:~
major version: 49

이는 원래 Mojarra 2.2.13 클래스의 바이트코드 버전과 일치합니다.

그런 다음 세 개의 결과 클래스 파일이 원래 jsf-impl-2.2.13.jar의 변경되지 않은 사본에 삽입되었습니다.

검증

결과 JAR은 압축 해제되어 원본과 비교되었습니다.

다음 파일만 다릅니다:

root@kitploit:~
ClasspathResourceHelper.class
ResourceManager.class
WebappResourceHelper.class

결과 바이트코드는 또한 javap로 추가 검사되어 두 리소스 헬퍼 클래스 모두 다음에 대한 의도된 호출을 포함하는지 확인했습니다:

root@kitploit:~
ResourceManager.nameContainsForbiddenSequence(...)

세 개의 교체 클래스 모두 Java 클래스 파일 major version 49를 유지하는지도 확인되었습니다.

배포 아티팩트

현재 분할 Mojarra 라이브러리를 사용하는 애플리케이션의 경우:

root@kitploit:~
jsf-api-2.2.13.jar
jsf-impl-2.2.13.jar

이 프로젝트에서 생성된 관련 교체 파일은 다음과 같습니다:

root@kitploit:~
jsf-impl-2.2.13-patched.jar

JAR 파일 이름 자체는 Java 클래스 로더에 중요하지 않습니다. -patched 접미사는 관리자가 수정된 구현을 원본과 즉시 구별할 수 있도록 의도적으로 유지됩니다.

원본 및 패치된 jsf-impl JAR을 동시에 배포하지 마십시오.

안전한 배포 절차는 기존 애플리케이션을 먼저 백업하고, 원본 jsf-impl-2.2.13.jar을 제거하고, jsf-impl-2.2.13-patched.jar을 배포하고, 애플리케이션/컨테이너를 다시 시작하고, 정상적인 애플리케이션 작동과 CVE-2020-6950이 해결하는 보안 문제를 모두 확인하는 것입니다.

범위 및 면책 조항

이 저장소는 레거시 Mojarra 2.2.13 설치를 위한 범위가 좁은 호환성/보안 백포트로 의도되었습니다.

이는 Mojarra의 포크가 아니며, 새로운 Mojarra 릴리스가 아니며, Eclipse 재단, Oracle, GlassFish 또는 openEuler와 제휴하거나 보증하지 않습니다.

가능한 경우, 개별 보안 패치로 오래된 Mojarra 릴리스를 유지 관리하는 것보다 현재 유지 관리되는 JSF/Jakarta Faces 구현으로 업그레이드하는 것이 바람직합니다.

이 저장소는 위에서 설명한 특정 CVE를 해결합니다. 이는 Mojarra 2.2.13이 일반적으로 안전하거나, 최신이거나, 유지 관리되거나, 지원된다는 의미로 해석되어서는 안 됩니다.

사용자는 프로덕션 시스템에 배포하기 전에 자체 환경에서 패치된 아티팩트를 테스트할 책임이 있습니다.

라이선스

원본 Mojarra 소스 코드와 바이너리는 각각의 업스트림 라이선스 및 저작권 고지의 적용을 받습니다.

Mojarra 2.2.13은 해당 릴리스에 적용되는 GPL v2 / CDDL 이중 라이선스 조건에 따라 배포되었으며, 원본 소스 헤더에 명시된 GPL Classpath Exception을 포함합니다.

원본 Mojarra 라이선스 파일은 다음 위치에 변경 없이 포함되어 있습니다:

root@kitploit:~
packager/legal/LICENSE.txt

Mojarra 소스 파일의 원본 저작권 및 라이선스 헤더는 유지되었습니다.

openEuler 제공 패치는 각각의 작성자와 소스 프로젝트에 귀속됩니다.

이 저장소는 원본 Mojarra 코드 또는 CVE 수정 사항에 대한 소유권을 주장하지 않습니다.

도구 다운로드