Wins Security Information

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2021-36748] PrestaShop Blog Module SQL Inject
작성일 2022-01-14 조회 53

 

 

PrestaShop의 Blog Module에 SQL Injection 취약점이 존재합니다.

 

해당 취약점은 /module/ph_simpleblog/list 경로에서 sb_category 매개 변수에 대한 부적절한 유효성 검사로 인해 발생합니다. 원격의 공격자는 악의적으로 조작된 요청을 서버로 전송하여 공격할 수 있습니다.

 

공격 성공 시, 임의의 코드가 실행될 수 있습니다. 

 

 

 

취약점 설명

 

NVD - CVE-2021-36748

CVSS v2.0 Severity and Metrics:

Base Score: 5.0 MEDIUM

 

 

 

[그림1. NVD 내역]

 

 

 

취약점 분석

 

해당 취약점은 /module/ph_simpleblog/list 경로에서 sb_category 매개 변수에 대한 부적절한 유효성 검사로로 인해 발생합니다. 

 

 

 

 

[그림 2. controllers/front/list.php의 init 메서드]

 


Prestashop의 Blog 모듈은 엔드포인트에 도달할 때마다 init()과 initContent() 메서드가 호출됩니다. [그림 2]의 init 메서드에서 sb_category 매개 변수 값에 대해 유효성 검사를 하지 않습니다.

 

 

 

[그림 3. controllers/front/list.php의 initContent 메서드 코드 일부]

 


[그림 3]은 initContent 메서드의 코드 중 일부로, initContent 메서드에서 sb_category 매개 변수의 값을 SimpleBlogCategory 클래스의 getByRewrite 메서드에 전달하는 것을 확인할 수 있습니다.

 

 


 

[그림 4. models/SimpleBlogCategory.php의 getByRewrite 메서드 코드 일부]
 

 

getByRewrite 메서드에서 유효성 검사를 진행하지 않은 sb_category 매개 변수의 값을 그대로 SQL 질의 문에 사용되므로 sb_category 매개 변수에 SQL 문을 입력하여 공격이 가능합니다.

 

취약한 버전은 1.7.8 미만 버전이며 1.7.8에서 패치되었습니다.

 

 

 

공격 분석 및 테스트

 

CVE-2021-36748의 공격 패킷은 다음과 같습니다.

 

 

 

[그림 5. 공격 패킷]

 

 

 

취약점 대응 방안

 

1. 최신 버전 사용

 

해당 벤더사에서 발표한 최신 버전으로 업데이트한다.

https://codecanyon.net/item/blog-for-prestashop/6717465

 

 

2. WINS Sniper 제품군 대응 방안

 

[5877] PrestaShop Blog Module list sb_category SQL Injection
첨부파일 첨부파일이 없습니다.
태그 CVE-2021-36748  PrestaShop  Blog for PrestaShop