Security & Malware Scan by CleanTalk 플러그인 보안 업데이트

워드프레스 보안 플러그인 중 하나인 Security & Malware Scan by CleanTalk 플러그인에서 취약점이 수정되었습니다. 2.50 버전 이하에서는 구독자 등 모든 인증된 사용자가 임의 파일 삭제/다운로드로 이어질 수 있는 권한이 부여되지 않은 AJAX 호출을 할 수 있는 취약점이 존재하므로 이 플러그인을 사용하는 경우 최신 버전으로 업데이트하시기 바랍니다.

Security & Malware Scan by CleanTalk 플러그인

Security & Malware Scan by CleanTalk 플러그인 보안 업데이트 (워드프레스 보안 플러그인)

Security & Malware Scan by CleanTalk 플러그인은 워드프레스 보안 플러그인 중 하나로 현재 약 5,000개 이상 사이트에 설치되어 사용되고 있습니다. 이 플러그인은 다음과 같은 보안 기능을 제공합니다.

  • IP, 네트워크 또는 국가별로 사이트에 대한 액세스를 필터링하는 보안 방화벽 (Security FireWall)
  • 웹 어플리케이션 보안 방화벽 (Web Application Security Firewall)
  • 보안 멀웨어 스캐너 및 안티바이러스 기능
  • 매일 자동 멀웨어 검사
  • 비밀번호 해킹을 시도하는 무차별 대입 공격 (Brute Force Attack) 저지
  • 워드프레스 계정을 찾으려는 무차별 대입 공격 저지
  • 로그인 시도 제한
  • 워드프레스 로그인 폼을 위한 보안 보호
  • 워드프레스 백엔드를 위한 보안 보호
  • 이메일로 매일 보안 리포트
  • 보안 감사 로그 (Security audit log) [워드프레스 보안 감사 로그 플러그인 WP Security Audit Log 참고]
  • 실시간 트래픽 모니터링
  • 아웃바운드 링크 확인
  • 2단계 인증
  • 멀웨어가 없도록 사이트를 유지하여 SEO 향상. (멀웨어에 감염될 경우 구글 크롬에서 경고 메시지가 표시되면서 사이트 접근이 차단됩니다.)

이 보안 플러그인은 비교적 유용한 보안 기능을 제공하는 것 같습니다. 워드프레스에는 다양한 보안 플러그인이 있습니다.

Wordfence Security, iThemes Security 등의 보안 플러그인은 종합적인 보안 기능을 제공하므로 워드프레스 사이트를 안전하게 운영하는 데 도움이 될 수 있습니다.

Security & Malware Scan by CleanTalk 플러그인 보안 업데이트

Security Nonce 유출

이 플러그인은 security-malware-firewall/inc/spbc-admin.php 스크립트에서 40개 이상의 AJAX 액션을 등록하고 있습니다. 대부분의 액션은 사용자 권한을 확인하지 않고 spbc_enqueue_scripts 함수에서 채워지는 Security Nonce에만 의존합니다.

292   function spbc_enqueue_scripts($hook) {
293          
294      global $spbc;
295          
296      // For ALL admin pages
297      wp_enqueue_style ('spbc_admin_css', SPBC_PATH . '/css/spbc-admin.min.css', array(), SPBC_VERSION, 'all');
298   
299      wp_enqueue_script('spbc-common-js', SPBC_PATH . '/js/spbc-common.min.js', array('jquery'), SPBC_VERSION, false);
300      wp_enqueue_script('spbc-admin-js',  SPBC_PATH . '/js/spbc-admin.min.js',  array('jquery'), SPBC_VERSION, false);
301          
302      wp_localize_script('jquery', 'spbcSettings', array(
303         'wpms'         => (int)is_multisite(),
304         'is_main_site' => (int)is_main_site(),
305         'tc_enabled'   => $spbc->tc_enabled ? 1 : 0,
306         'img_path'     => SPBC_PATH . '/images',
307         'key_is_ok'    => $spbc->key_is_ok,
308         'ajax_nonce'   => wp_create_nonce("spbc_secret_nonce"),
309         'ajaxurl'      => admin_url('admin-ajax.php'),
310         'debug'        => !empty($debug) ? 1 : 0,
311      ));

이 함수는 admin_enqueue_scripts 후크에 의해, 즉 누군가가 백엔드를 액세스할 때마다 security-malware-firewall/security-malware-firewall.php 스크립트에서 로드됩니다.

292   add_action('admin_enqueue_scripts', 'spbc_enqueue_scripts');

그러므로 이 Nonce는 구독자를 포함하여 모든 로그인 사용자가 HTML 페이지의 소스에서 접근이 가능합니다.

공격자가 이를 악용하여 모든 AJAX 액션과 인터랙션할 수 있었기 때문에 특히 임의 파일 삭제 및 다운로드를 포함한 몇 가지 취약점이 존재했습니다.

타임라인

이 취약점은 2020년 6월 5일에 플러그인 개발자에게 보고되어 2020년 6월 30일에 취약점이 수정된 새 버전 2.51이 릴리스되었습니다.

워드프레스에서는 보안 취약점이 발견되면 먼저 플러그인 개발자에게 문제점이 보고됩니다. 그러면 개발자가 문제점을 수정한 업데이트를 공개하고, 사용자들이 플러그인을 업데이트할 수 있도록 시간을 준 다음 취약점에 대한 정보가 공개됩니다.

권고 사항

2.50 버전 이하를 사용하고 있는 즉시 최신 버전으로 업데이트하시기 바랍니다. 참고로 NinjaFirewall WP Edition을 사용하는 경우 이 취약점으로부터 보호됩니다.

워드프레스 자체는 보안에 강하지만 워드프레스, 테마, 플러그인의 업데이트를 소홀히 하거나 오랫동안 업데이트되지 않고 방치되는 플러그인을 사용할 경우 보안에 문제가 발생할 수 있습니다. 가급적 최신 버전으로 시스템을 업데이트하시기 바랍니다.

그리고 정기적인 백업을 실시하여 백업 파일을 컴퓨터나 클라우드 스토리지에 보관하시기 바랍니다. 만약의 사태가 발생하더라도 백업본이 있으면 복원이 가능합니다.

또한, 강력한 비밀번호를 사용하고 비밀번호를 다른 사용자와 공유하지 않는 등 일반적인 보안 관행도 준수하여 안전하게 워드프레스 사이트를 운영하시기 바랍니다.

참고

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

댓글 남기기

* 이메일 정보는 공개되지 않습니다.