CVE 취약점 분석 Write Up 02

수갱22·2024년 1월 28일

Bug Hunting&CVE

목록 보기
3/5

Bypass password confirmation via Context-dependent access control

대상 사이트: https://nextcloud.com/
CVE-2023-49791

Access control

접근 제어는 누가 혹은 무엇을 시도한 작업을 수행하거나 요청한 리소스에 접근할 수 있는지에 대한 제약 조건을 적용하는 것이다. web application의 context에서 접근 제어는 인증 및 세션 관리에 따라 달라진다. 사용자 관점에서의 접근 제어로는 Vertical Access Control, Horizontal Access Control, Context-Dependent Access Control으로 세가지로 나눌 수 있다.

  • Acces control은 사용자가 수행하려는 작업을 수행할 수 있는지 여부를 결정한다.

Context-Dependent Acces Control(CDAC)

Context-dependent access controls는 application의 상태 또는 application과 사용자의 상호작용을 기반으로 기능 및 리소스에 대한 접근을 제한한다.
Context-dependent access controls는 사용자가 잘못된 순서로 작업을 수행하는 것을 방지한다. 만약 CDCA가 손상되면, 공격자는 이 점을 이용해 허가되지 않은 접근을 가질 수 있으며 이를 통해 데이터 침해, DoS attack 등의 결과를 초래할 수 있다.

POC

  1. /nextcloud/index.php/settings/user/workflow에 접근 후 workflow를 생성한다.

  2. 생성한 workflow를 지우려고 하면, 확인을 위한 비밀번호를 필요로 한다.

  3. 사용자가 bypass password confirmation을 요청하면 Broken Context-Dependent Acces Control이 일어난다.

DELETE/nextcloud/ocs/v2.php/apps/workflowengine/api/v1/workflows/user/3?format=json


4. 사진에서 보이듯이 workflow가 성공적으로 삭제 되었다.

Ref:
https://hackerone.com/reports/2120667
https://github.com/nextcloud/security-advisories/security/advisories/GHSA-3f8p-6qww-2prr

profile
Cyber Security

0개의 댓글