7호 · 2026년 10월 23일 · 5건

PHP 전 라인 RCE, 한 바이트짜리 CA 키, LiteLLM 공식 파이프라인 침해, DuckDB 2.0, 그리고 새 나간 API 키

PHP 8.x 전 라인에 CVSS 9.2 원격 코드 실행 2건이 나왔고 CVE가 하루 먼저 새어 릴리스가 앞당겨졌습니다. 인도 CA eMudhra의 중간 인증서 8개는 개인키가 한 바이트였고 브라우저들이 긴급 차단했습니다. LiteLLM 1.107.0은 탈취한 개발자 자격증명으로 공식 릴리스 파이프라인을 거쳐 자격증명 탈취기를 배포했습니다. DuckDB 2.0 LTS는 새 파서와 VARIANT 타입을 가져왔지만 2.0 파일은 1.x가 못 읽습니다. OpenCode Console 침해로 저장해 둔 AI 제공사 키가 새어 밤사이 청구서가 왔습니다.

  1. 01

    PHP 8.x 전 라인 RCE 2건 — CVE가 하루 먼저 새고, 릴리스가 앞당겨졌다

    PHP가 10월 21일 8.5.12, 8.4.27, 8.3.36, 8.2.35를 긴급 릴리스했습니다. CVE-2026-109618(OOM 처리 중 요청 데이터가 반쯤 초기화된 채 남음)과 CVE-2026-109619(요청 소유 상태가 다음 요청으로 샘)로 둘 다 CVSS 9.2 RCE입니다. PHP-FPM, mod_php, FrankenPHP 등 웹 요청을 받는 모든 환경이 대상이고 mod_php가 가장 위험합니다. Wiz Research가 8월에 발견해 Drupal·WordPress에서 비인증 RCE를 확인했고, 보안 업체가 실수로 올린 PoC 영상과 CVE ID 유출로 릴리스가 하루 앞당겨졌습니다. 8.1 이하는 프로젝트 지원이 끝나 보안팀이 최소 백포트만 제공합니다. '공개 PoC는 순정 PHP에서 안 돈다'는 반론도 있습니다.

    왜 중요한가: PHP는 국내 웹의 상당 부분입니다. 워드프레스, 그누보드, 라라벨 전부입니다. 벤더 패키지가 나왔으니 올리고, 못 올리면 공식 완화 설정을 지금 넣으세요.

  2. 02

    eMudhra 중간 CA 8개의 개인키가 한 바이트였다 — 1초 만에 복구, 브라우저들이 긴급 차단

    인도 인증기관 eMudhra의 중간 CA 8개(TLS 6, 코드서명 2)와 Sectigo 교차서명본의 P-384 개인키가 0~255 범위의 한 바이트 값이었습니다. 공개키에서 값을 대입하면 최대 255번 만에 개인키가 나옵니다. 10월 17일 연구자가 루트 프로그램에 신고하자 같은 날 Chrome이 CRLSet으로, Firefox가 OneCRL로 차단했고 Microsoft는 20일, Apple은 22일 차단했습니다. Cloudflare는 19일 인지 후 WARP·cloudflared·CDN에 완화를 배포하며 '브라우저만 고치면 끝이 아니다'라고 경고했습니다. 키는 2025년 4월 생성됐고 CT 로그에 발급 기록은 없습니다. 실제 악용은 확인되지 않았습니다.

    왜 중요한가: 브라우저는 자동으로 고쳐졌지만 서버·컨테이너·IoT의 신뢰 저장소는 아닙니다. certifi, Node, JVM cacerts, 베이스 이미지를 갱신하지 않으면 이 CA가 서명한 위조 인증서를 2039년까지 믿습니다.

  3. 03

    LiteLLM 1.107.0 침해 — Python이 뜰 때마다 도는 자격증명 탈취기, 공식 파이프라인으로 배포됐다

    PyPI의 litellm 1.107.0과 Docker v1.107.0·latest 태그에 자격증명 탈취기와 백도어가 들어 있었습니다. 10월 21일 10:08 UTC 공격자가 탈취한 개발자 GitHub 자격증명으로 브랜치 보호를 무력화하고 릴리스 워크플로를 유사 이름 저장소로 돌려, 11:39 공식 파이프라인이 악성 휠 7개를 빌드·서명·업로드했습니다. .pth와 sitecustomize.py로 설치돼 litellm을 import하지 않는 Python 프로세스에서도 실행됩니다. SSH·GPG·TLS 키, 셸 기록, AWS·gcloud·kubeconfig, Claude Code·Cursor·Copilot 토큰, LiteLLM 프록시 DB의 제공사 키, 환경변수를 암호화해 litellm.dev로 보냅니다. 13:23 PyPI에서 제거, 14:20 Docker 태그 정리. 3월 1.82.7·1.82.8에 이어 두 번째입니다.

    왜 중요한가: LiteLLM은 국내에서도 LLM 게이트웨이로 흔합니다. 약 1시간 45분 사이에 설치했다면 그 머신의 모든 자격증명이 나갔다고 봐야 합니다. 삭제로는 안 되고 전부 교체해야 합니다.

  4. 04
    후속

    DuckDB 2.0 LTS "Cinnamon Teal" — 새 파서가 기본, VARIANT 타입, 비동기 I/O, 그리고 2.0 파일은 1.x가 못 읽는다

    DuckDB 2.0.0이 10월 21일 나왔습니다. 1.0이 안정성이었다면 2.0은 기능 릴리스입니다. PEG 기반 새 SQL 파서가 기본(레거시는 SET enable_legacy_parser), 1급 VARIANT 타입, Parquet·CSV·네이티브 스토리지의 비동기 I/O로 오브젝트 스토리지 읽기 병렬화, 클라이언트-서버 실행용 Quack 프로토콜과 CONNECT 문, 트리거, LLM 출력을 59% 줄이는 에이전트 모드가 들어갔습니다. 2.0이 만든 DB 파일은 1.x가 읽지 못합니다. 단일 화살표 람다는 deprecated, amalgamation 빌드와 macOS x86_64는 2.1에서 빠집니다. LTS 지원은 최소 2027년 10월, 1.4는 11월 17일까지, 1.5는 2027년 3월까지입니다.

    왜 중요한가: DuckDB를 분석 파이프라인에 쓰는 팀이 많습니다. 파일 포맷 비호환이 가장 중요합니다 — 2.0으로 만든 파일을 1.x 소비자에게 넘기면 열리지 않습니다. 미션 크리티컬이면 11월 첫 패치를 기다리라는 게 공식 권고입니다.

  5. 05

    OpenCode Console 침해 — 저장해 둔 Anthropic·OpenAI·Google API 키가 새고, 밤사이 청구서가 왔다

    AI 코딩 도구 OpenCode가 호스팅 서비스 Console의 '폐기 중이던 레거시 시스템'에 침입이 있었다고 10월 17일 밝혔습니다. Console 사용자의 1.4%가 워크스페이스에 저장한 외부 AI 제공사 API 키가 노출됐고, 개발자들이 수백에서 1,000달러 넘는 부당 청구를 보고했습니다. Anthropic과 Google은 노출 키를 차단했고 OpenAI는 환불에 동의했습니다. 오픈소스 CLI와 데스크톱 앱은 키를 로컬에만 두므로 영향이 없습니다. OpenCode는 이를 '대규모 증류 공격'이라 불렀지만 근거는 내놓지 않았고, 침입 경로와 키 저장 방식도 밝히지 않았습니다.

    왜 중요한가: AI 제공사 API 키를 서드파티 서비스에 맡기는 팀이 늘었습니다. 키에 지출 한도를 걸어두지 않으면 유출은 곧 청구서입니다. OpenCode Console을 썼다면 키를 돌리세요.