OSSCA Chromium

기여 목록 / 8496424

FSA: Restrict getAsFileSystemHandle to secure contexts

BlinkfixIn Review

DataTransferItem.getAsFileSystemHandle()을 secure context에서만 노출하도록 IDL을 수정했습니다. 신뢰되지 않는 HTTP 출처에서 브라우저가 거절할 API 호출을 바인딩 단계에서 막습니다.

문제 설명

안전하지 않은 출처에서 메서드를 호출하면 FileSystemAccessManager 연결을 요청하지만, 브라우저는 이를 잘못된 Mojo 메시지로 판단해 렌더러를 종료합니다. API 노출 조건과 브라우저의 연결 허용 조건이 맞지 않았습니다.

해결 내용

  1. DataTransferItem의 File System Access partial interface에 [SecureContext]를 추가합니다.
  2. 기존 FileSystemAccessLocal runtime 기능 조건은 유지하면서 secure context 여부도 메서드 노출에 반영합니다.
  3. 테스트 서버의 insecure.example 호스트를 loopback으로 연결하되, URL 출처 자체는 신뢰되지 않는 HTTP로 만들어 신뢰 가능한 loopback URL과 비교합니다.

테스트 방법

  • GetAsFileSystemHandleRequiresSecureContext는 일반 HTTP 출처에서 isSecureContext가 false이고 prototype에 메서드가 없는지 확인합니다.
  • 같은 테스트에서 신뢰 가능한 loopback 출처로 이동한 뒤 isSecureContext가 true이고 메서드가 노출되는지 확인합니다.

Gerrit 기록상 Patch Set 1는 2026-10-01 UTC에 CQ 실행을 통과했습니다. 보고서 작성 과정에서 Chromium 테스트를 별도로 실행하지는 않았습니다.

관련 이슈와 외부 PR

배운 점

  • 브라우저 IPC에서 호출을 거절하는 것과 웹 바인딩에서 API를 노출하지 않는 것은 서로 다른 방어 지점입니다.
  • secure context 검사는 HTTPS 여부만으로 설명할 수 없습니다. 신뢰 가능한 loopback 출처도 양성 사례로 확인해야 합니다.

참고 자료