shiwoo.dev logoshiwoo.dev

뉴스레터about me
  • GitHub
  • LinkedIn
  • Email
© 2026 Shi Woo, Park (custardcream98)
All rights reserved.
← 지난 이슈

프론트엔드 뉴스레터

#17

2026년 10월 22일8개 소식

이번 이슈 한눈에

  • PHP가 로그인 없이 서버에서 코드를 실행할 수 있는 취약점 두 건을 수정했어요.
  • LiteLLM의 변조된 배포물을 실행한 환경은 배포물 회수 후에도 침해 여부를 조사해야 해요.
  • Safari가 이메일 주소를 사이트 간 추적에 이용하는 제3자 서버와의 연결을 차단해요.
  • CrUX가 SPA 안의 화면 전환을 측정에 포함하는 실험 지표를 공개했어요.
  1. 01

    php.net

    PHP, 로그인 없이 서버에서 코드를 실행할 수 있는 취약점 수정

    PHP로 웹 요청을 처리하는 서버에서 공격자가 로그인하지 않고도 코드를 실행할 수 있는 취약점 두 건이 수정됐어요. Apache 안에서 PHP를 실행하는 모듈인 mod_php에서는 애플리케이션 코드가 실행되기 전에 요청만으로 공격하는 방법도 확인됐습니다. 설정 변경만으로 완전히 막을 수 없어 PHP 팀은 즉시 업데이트를 권고했어요.

    • 발행 당시 수정 버전은 PHP 8.5.12·8.4.27·8.3.36·8.2.35입니다.
    • 시스템 패키지로 설치했다면 배포판이나 LTS 공급업체가 제공하는 수정 패키지를 확인해야 해요.
    원문 읽기 ↗
  2. 02

    news.hada.io

    eMudhra 인증서 침해, 개발 도구의 인증서 저장소도 갱신해야 해요

    HTTPS로 접속할 때 프로그램은 서버가 제시한 인증서를 확인해 접속 상대를 판단해요. eMudhra 중간 인증서 8개에 연결된 개인 키가 침해되면서, 공격자가 서버를 사칭하는 위조 인증서를 만들 수 있게 됐습니다. 공격자가 사용자 연결까지 가로챌 수 있다면 이 인증서로 트래픽을 읽거나 바꿀 수 있어요.

    브라우저는 긴급 차단에 나섰지만, 개발 도구와 애플리케이션은 신뢰할 인증서를 확인하는 저장소가 브라우저와 다를 수 있어요. 각 프로그램이 실제로 사용하는 인증서 저장소도 갱신해야 하며, 브라우저에서 검사를 통과했다는 것만으로 다른 프로그램까지 보호됐다고 볼 수는 없습니다.

    • SDK만 갱신하면 하위 HTTP 라이브러리·런타임·OS의 인증서 검증 정책은 그대로일 수 있어요. 관련 의존성과 컨테이너 이미지를 갱신하고, 필요한 재시작·재배포도 적용해야 합니다.
    원문 읽기 ↗
  3. 03

    news.hada.io

    LiteLLM 변조 배포물, 직접 불러오지 않아도 악성코드가 실행돼요

    여러 AI 모델 제공업체의 API를 연결하는 도구 LiteLLM의 1.107.0 배포물에 자격 증명 탈취·원격 코드 실행 악성코드가 포함됐어요. 대상은 10월 21일 Python 패키지 저장소 PyPI에 배포된 설치 패키지 7개와 공식 컨테이너 이미지입니다. 감염된 환경에서는 LiteLLM을 직접 불러오지 않아도 Python을 시작하면 악성코드가 실행돼요.

    문제 배포물은 회수됐고 변조된 이미지 태그도 제거되거나 교체됐지만, 이미 실행한 환경은 침해된 것으로 보고 조사해야 합니다. 감염된 환경에서는 pip 실행도 악성코드를 다시 작동시킬 수 있어, 일반적인 패키지 제거·재설치만으로 복구할 수 있다고 볼 수는 없어요.

    • 컨테이너는 v1.107.0뿐 아니라 당시 latest·main-latest·main-stable 태그도 영향을 받았어요. 비공개 enterprise 레지스트리 배포물은 영향을 받지 않았습니다.
    • 외부 통신이 가능한 호스트에 설치했다면 정보가 유출된 것으로 가정하고, 그 호스트가 접근할 수 있던 API 키와 비밀번호 등 자격 증명을 교체해야 해요.
    원문 읽기 ↗
  4. 04

    webkit.org

    Safari, 이메일 주소로 사이트 간 추적을 돕는 서버 차단

    제3자 추적 업체는 로그인이나 뉴스레터 신청 폼에서 수집한 이메일 주소에 추적 ID를 연결해, 여러 사이트와 기기에서 같은 사람을 알아보는 데 써 왔어요. iOS·iPadOS·macOS·visionOS 27의 Safari와 그 기반 엔진인 WebKit은 이메일을 받아 추적용 식별자로 바꾸는 제3자 서버와의 네트워크 연결을 차단합니다. 도메인 단위로 막기 때문에 같은 도메인 안에서 요청 경로나 형식을 바꿔도 차단을 피할 수 없어요.

    • 차단 대상은 이메일 기반 추적을 돕는 제3자 서버입니다. 로그인 제공자나 뉴스레터 서비스 자체, 사이트가 자기 사용자에게 제공하는 개인화를 막는 조치는 아니에요.
    원문 읽기 ↗
  5. 05

    web.dev

    CrUX, SPA 안에서 이동한 화면도 따로 측정해요

    React로 만든 SPA는 새 HTML 문서를 받지 않고도 화면 내용과 URL을 바꿀 수 있어요. 실제 Chrome 사용자의 웹 이용 경험을 모으는 CrUX가 이런 화면 전환도 측정에 포함하는 실험 지표를 공개했습니다. 처음 페이지를 열 때뿐 아니라 앱 안에서 이동한 화면의 로딩 속도·입력 반응·화면 안정성도 측정해, 이동한 URL에 결과를 기록해요.

    이전에는 세션 전체의 반응 지연과 화면 요소의 밀림이 처음 진입한 페이지에 모였지만, 실험 지표에서는 화면 전환별로 나눠 집계합니다. 후속 화면은 이미 받은 코드와 자원도 재사용하므로, 화면 전환이 많은 SPA는 코드를 바꾸지 않아도 점수가 좋아질 수 있어요. 이런 점수 변화가 실제 코드의 성능 개선을 뜻하지는 않습니다.

    • 2026년 10월 공개분의 실험 지표이며, 기존 정식 지표의 점수와 Search Console에는 아직 반영되지 않아요.
    • URL별 결과는 CrUX의 기존 데이터 제공 요건을 충족해야 볼 수 있습니다.
    원문 읽기 ↗
  6. 06

    news.hada.io

    일부 기업 고객에게 Codex를 Google Cloud에 연결하는 프리뷰 제공

    10월 21일부터 일부 enterprise 고객을 대상으로, 로컬 Codex CLI·Desktop을 Google Cloud에 연결하는 비공개 프리뷰가 시작됐어요. 터미널이나 데스크톱 앱에서 코딩 작업을 요청하면 Google Cloud에 연결된 OpenAI 모델이 처리하는 방식입니다. 초대받은 고객이 승인된 개발·내부 사용 사례를 평가하는 단계이며, 모든 고객에게 일반 공개된 기능은 아니에요.

    원문 읽기 ↗
  7. 07

    github.com

    Chokidar 6, 실제 파일 상태를 확인해 불필요한 변경 알림 줄여요

    개발 서버나 빌드 도구는 파일 변경 알림을 받아 저장한 내용에 반응해요. 파일과 폴더의 변경을 감시하는 라이브러리 Chokidar 6은 운영체제의 알림을 받으면 실제 디스크의 파일 상태를 확인한 뒤 변경 이벤트를 내보냅니다. 이 과정으로 파일을 연달아 수정한 뒤 불필요한 이벤트가 남던 문제를 고쳤어요.

    • Chokidar 6은 Node.js 22.22 이상이 필요합니다.
    원문 읽기 ↗
  8. 08

    reactrouter.com

    React Router 8.5, 자체 화면 전환 API 대신 React 컴포넌트 권장

    React Router는 페이지를 이동할 때 이전 화면에서 다음 화면으로 이어지는 시각 효과를 제어하는 API를 제공해 왔어요. 8.5에서는 자체 viewTransition prop·옵션과 useViewTransitionState 등을 더 이상 사용을 권장하지 않는 deprecated 상태로 표시했습니다. 대체 API는 화면 전환 효과를 적용하는 React의 <ViewTransition> 컴포넌트예요.

    • 기존 API는 React Router 8에서 계속 동작하며, 9에서 제거될 예정입니다.
    • 대체 API를 사용하려면 React와 React DOM 19.3 이상이 필요해요.
    원문 읽기 ↗

다음 이슈 받아보기

읽어볼 만한 프론트엔드 소식과 글을 골라 보내드립니다.

언제든 구독을 취소할 수 있어요.

← 뉴스레터 #16 · 2026-10-21뉴스레터 #18 · 2026-10-23 →