- Apache Log4j SocketServer Class Log Data Handling Insecure Deserialization Remote Code Execution(CVE-2019-17571)2020년 01월 22일
- 조별하
- 작성자
- 2020.01.22.:50
깃허브에서 아래와 같이 Apache Log4j 에 취약점이 발견되었다는 메일이 와있었다. 대충 읽어보니 내 repository 에 있는 프로젝트에 사용되었는 log4j 1.2.x 버전을 1.2.27 로 업데이트 해달라는 얘기인 것 같다. 깃허브에 들어가서 그 취약점이라는 것을 살펴보자.
증상
"의존성 중 하나에서 잠재적 인 보안 취약점을 발견했습니다." 라는 문구와 함께 repository에 경고문 떠있다. View security alert(보안 경고 보기)를 눌러 더 자세한 내용을 봐야겠다.
Details 에서 내용을 보니 예상했던대로 log4j 에서 보안적인 문제가 생겨 경고를 하는것 같다.
처리과정
ecAcademy 프로젝트에서 사용한 버전은 1.2.15버전이라 문제가 생긴듯 하여 1.2.17로 update로 업데이트를 해보았다.
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> </dependency>
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
Maven 에 있는 라이브러리도 바뀐걸 확인하고 깃허브에 push를 해주었다.
결과는.....
바뀌지 않고... 여전히 보안경고가 떠있다. 보안적인 문제가 해결되지 않았나보다ㅠㅠ 보안적인 문제가 어떤문제인지 정확하게 모르기 때문에 구글링을 해 보았다. 최근에 나온 문제인지 검색을 해도 많은 자료들이 나오지 않았다. 그러던 와중 발견한 (CVE-2019-17571 검색을 통해)
https://www.fin-ncloud.com/support/securitycenter
네이버 클라우드 플랫폼에 Security Advisories 부분에서 이 취약점 문제를 발견하였다.
요약하자면 Apache log4j 버전 2.8.2 미만의 버전에서는 SocketServer클래스가 신뢰할 수 없는 데이터를 받아들여 불안정하게 되고, 후에는 원격 공격을 받거나 Dos 공격이 가능하게 된다고 2.8.2 버전으로 업그레이드 하라는 얘기이다.
공격이 어떻게 이루어지고 취약점 테스트는 아래 링크에 자세히 적혀 있으니 들어가서 확인 바람
http://blog.skinfosec.com/221774181380해결
결국에는 내 코드 Apache log4j 버전 1.2.15을 보안을 위해
1.2.17 버전이 아닌2.8.2버전으로 업그레이드를 해야하는 것이다. 2.8.2 버전은 Apache log4j 가 아닌 Apache Log4j 2 이기 때문에 Apache Log4j 2 버전 2.8.2 를 검색하여 코드를 찾았다.https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j/2.8.2
위에서 태그를 복사하여 내 프로젝트 pom.xml 에 코드를 넣고, 다시 한번 결과를 확인!!
짜란~#~! 보기 싫게 나오던 경고문이 사라졌다.
깃허브에서 이렇게 메일로 경고문은 보내서 확인하라고 하는거 보니 가만히 둘 수는 없어서 찾아보았다.
이렇게 내가 깃허브에 올리는 코드들을 분석해서 문제가 생기는 것들은 알려주나 보다'GITHUB' 카테고리의 다른 글
Git-Hub Gist를 이용해서 티스토리에 소스코드 올리기 (0) 2020.01.09 GIT의 기본 명령어 (0) 2019.11.20 GitHub 소스코드 수정하여 Git 저장소에 반영하기 (0) 2019.08.27 GitHub- Why use this? (0) 2019.08.26 다음글이전글이전 글이 없습니다.댓글