Fork me on GitHub

2026-01-17: Node.js 보안 업데이트, Chrome 144, Firefox 147, Electron 40

Translator: rewrite0w0 Edit on GitHub See Revisions

JSer.info #761 - Node.js 20.20.0/22.22.0/24.13.0/25.3.0 보안 업데이트가 공개되었다.

8건의 취약성 수정되었다. 주요한 수정으로, Buffer.alloc이나 TypedArray가 초기화되어 있지 않은 메모리를 포함할 가능성이 있을 수 있는 Race Condition 수정(CVE-2025-55131), 심볼릭 링크를 사용해 Permission Model 바이패스 수정(CVE-2025-55130), 부정한 HTTP/2 HEADERS 프레임에서 서버가 크래시하는 문제 수정(CVE-2025-59465)이 포함된다.

또한, async_hooks 유효할 때에 스택 오버플로우 에러가 캐치되지 않는 문제도 수정됐다.
async_hooks는 Next.js이나 Datadog 등에서 APM 도구로 널리 이용되고 있다.
이 문제의 자세한 사항은, 다음 글에 해설.


Chrome 144가 출시되었다.

CSS의 ::search-text에서 페이지 내 검색 스타일링 지원 @scroll-state: scrolled 지원, View Transitions의 waitUntil() 추가 등의 CSS 관련 기능이 되었다. 또한, <geolocation> 요소 추가, Temporal API 지원, clipboardchange 이벤트 추가 등 Web API 관련 업데이트도 포함된다.


Firefox 147가 출시되었다.

Apple Silicon 디바이스에서 WebGPU가 기본적으로 유효화되었다. 또한, Navigation API, CSS anchor positioning, CSS Module Scripts 지원이 추가되었다. CompressionStream/DecompressionStream가 Brotli 지원, Service Worker에서 type: module 지원된다.


알림

2026년 1월 16일로 JSer.info은 15주년을 맞이했습니다.
다음 글에는, JSer.info 데이터를 사용한 과거 15년간 JavaScript 동향을 돌아본다.


To support JSer.info


헤드라인


ESLint v10.0.0-rc.0 released - ESLint - Pluggable JavaScript Linter

eslint.org/blog/2026/01/eslint-v10.0.0-rc.0-released/

ESLint ReleaseNote

ESLint v10.0.0 RC.0 출시.
RuleTester 개선, max-params 규칙에 countThis 옵션 추가


Release 3.0.0-rc1 · qunitjs/qunit

github.com/qunitjs/qunit/releases/tag/3.0.0-rc1

JavaScript library ReleaseNote test

QUnit 3.0.0-rc1 출시.
Node.js 16 이하 지원과 PhantomJS 지원 삭제.
네이티브 ESM 대응 추가, 기본적으로 3초 테스트 타임 아웃 유효, assert.expect()에서 assert.step()를 제거하는 변경.
HTML Reporter 디자인 업데이트와 성능 개선, 각종 경고 에러 변경


Alpha release of moon v2 now available! | moonrepo

moonrepo.dev/blog/moon-v2-alpha

JavaScript Tools ReleaseNote

moon v2 α 출시.
YAML 이외 설정 파일 지원, 툴체인을 Wasm 플러그인에서 실행하도록 변경


Release @pandacss/[email protected] · chakra-ui/panda

github.com/chakra-ui/panda/releases/tag/%40pandacss%2Fdev%401.8.0

css library ReleaseNote MCP

Panda CSS 1.8.0 출시.
panda init-mcp로 MCP서버 설정 가능


Bun v1.3.6 | Bun Blog

bun.com/blog/bun-v1.3.6

Bun v1.3.6 출시.
tar 파일을 다루는 Bun.Archive API, 주석 포함된 JSON를 다루는 Bun.JSONC API 추가.
Bun.build()에서 esbuild 호환의 metafile 옵션 추가.
WebSocket가 HTTP/HTTPS 프록시 지원, S3 Requester Pays 지원.
각종 성능 개선, Node.js 호환성 개선.


Node.js — Tuesday, January 13, 2026 Security Releases

nodejs.org/en/blog/vulnerability/december-2025-security-releases

nodejs security ReleaseNote

Node.js 20.20.0/22.22.0/24.13.0/25.3.0 보안 출시.
8건 취약점이 수정됨.
Buffer.allocTypedArray가 초기화되어 있지 않은 메모리를 포함하는 가능성을 갖은 Race Condition 수정(CVE-2025-55131).
심볼릭링크를 사용한 Permission Model 바이패스 수정(CVE-2025-55130).
부정한 HTTP/2 HEADERS 프레임에서 서버가 클래시 문제를 수정(CVE-2025-59465).
또한, async_hooks 유효할 때에 스택오버플로우를 캐치되지 않은 문제, TLS 클라이언트 증명서 처리의 메모리 누수 수정.


Chrome 144  |  Release notes  |  Chrome for Developers

developer.chrome.com/release-notes/144

Chrome ReleaseNote

Chrome 144 출시.
CSS의 ::search-text에서 페이지 내 검색 스타일링 지원, @scroll-state: scrolled 지원, View Transitions의 waitUntil() 추가.
<geolocation> 요소 추가, Temporal API 지원, clipboardchange 이벤트 추가.
WebGPU의 Uniform buffer 표준 레이아웃에서 16바이트 정렬 요구사항 삭제, subgroup_id 기능 추가.
Privacy Sandbox에서 구현된 기능 비권장


Copilot SDK in technical preview - GitHub Changelog

github.blog/changelog/2026-01-14-copilot-sdk-in-technical-preview/

AI nodejs python golang .net library

GitHub Copilot SDK가 테크니컬 프리뷰 공개.
Node.js/TypeScript, Python, Go, .NET의 4가지 언어로 이용 가능.
GitHub Copilot CLI에서 프로그램에서 접근가능한 SDK로, 멀티턴 대화나 커스텀 도구 정의, 클라이언트/세션의 라이프사이클 관리.


Firefox 147.0, See All New Features, Updates and Fixes

www.firefox.com/en-US/firefox/147.0/releasenotes/

Firefox ReleaseNote

Firefox 147 출시.
Apple Silicon 디바이스 WebGPU 유효.
Accept-Language 헤더의 q 값을 다른 브라우저에 맞춰 조절.
Navigation API, CSS anchor positioning 지원, CSS Module Scripts 지원.
CompressionStream/DecompressionStream가 Brotli 지원, Servie Worker에서 type: module 지원


Prettier 3.8: Support for Angular v21.1 · Prettier

prettier.io/blog/2026/01/14/3.8.0

JavaScript Tools ReleaseNote

Prettier 3.8 출시.
Angular v21.1 새로운 구문 @switch 블록 내에서 연속 된 @case 스테이트먼트, 배열/객체/함수 호출하는 Spread 요소 지원.
Markdown 파일 내에 Angular 코드 블록(angular-ts, angular-html) 포맷 대응


Electron 40.0.0 | Electron

www.electronjs.org/blog/electron-40-0

Electron ReleaseNote

Electron 40.0.0 출시.
Chromium 144/Node.js 24.11/V8 14.4으로 업그레이드.
렌더러 프로세스에서 클립보드 API의 직접 접근을 비권장으로に, macOS의 dSYM 파일이 zip에서 tar.xz 형식으로 변경.
app.isHardwareAccelerationEnabled() 메서드 추가, 오프 스크린 렌더링에서 HDR 컬러페이스 대응.


Astro is joining Cloudflare

blog.cloudflare.com/astro-joins-cloudflare/

astro cloudflare news

Astro Technology Company가 Cloudflare에 인수.
Astro은 오픈소스에 MIT 라이센스 유지.
또한 Astro 6에는, Vite Environments 기반 개발 서버에서 로컬 개발할 때에 Cloudflare Workers 런타임(workerd)으로 실행가능하도록 할 예정.


읽을거리


Node.js — Mitigating Denial-of-Service Vulnerability from Unrecoverable Stack Space Exhaustion for React, Next.js, and APM Users

nodejs.org/en/blog/vulnerability/january-2026-dos-mitigation-async-hooks

nodejs security article

Node.js의 async_hooks에 스택오버 플로우 문제에 대하여.
AsyncLocalStorage은 Next.js나 Datadog 등 많은 프레임워크나 도구에서 이용중이라, 영향 범위가 넓음.
어떤 구조에서 스택 영역 고갈 문제가 발생하는지에 대해 해설됨


Streaming JSON in just 200 lines of JavaScript

krasimirtsonev.com/blog/article/streaming-json-in-just-200-lines-of-javascript

JavaScript article JSON

JSON를 스트리밍하는 방법에 대한 글.
서버측에서 비동기 데이터(Promise)를 플레이스홀더로 변환하고, NDJSON 형식과 Transfer-Encoding: chunked 사용한 데이터를 단계적으로 보냄.
클라이언트 측에서는 Fetch API으로 스트림을 읽고, 플레이스홀더를 실제 데이터로 갈아 끼우는 구현에 대하여.


Introducing: React Best Practices - Vercel

vercel.com/blog/introducing-react-best-practices

AI article React JavaScript

Vercel가 10년 이상 React・Next.js 최적화 지식을 정리한 react-best-practices 레포지토리 공개.
AI 에이전트나 LLM 대상으로 최적화된 규칙 모음집으로, 40개 이상 규칙이 8 카테고리로 분류.
워터폴 배제, 번들 크기 절감, 리렌더링 최적화 패턴을, CRITICAL에서 LOW까지 우선 순위를 붙여 정리함.


웹사이트, 서비스, 문서


VibiumDev/vibium: Browser automation for AI agents and humans

github.com/VibiumDev/vibium

Selenium MCP Tools

Selenium BiDi 기반에 브라우저 조작하는 MCP 서버


coder/ghostty-web: Ghostty for the web with xterm.js API compatibility

github.com/coder/ghostty-web?tab=readme-ov-file

WebAssembly library terminal JavaScript

브라우저 상에 동작하는 터미널 에뮬레이터 라이브러리.
libghostty를 Wasm에 컴파일을 이용, xterm.js 호환 API 제공.
xterm.js과 비교해서 복잡한 문제 체계의 정확한 Grapheme 처리, XTPUSHSGR/XTPOPSGR 지원.


소프트웨어, 도구, 라이브러리


MotiaDev/motia: Multi-Language Backend Framework that unifies APIs, background jobs, queues, workflows, streams, and AI agents with a single core primitive with built-in observability and state management.

github.com/MotiaDev/motia

nodejs library

Step 단위에서 처리를 작성하기 위한 백엔드 프레임워크.
Step은 여러 JavaScript나 Python 등에서 여러 언어로 작성 가능


vercel-labs/agent-browser: Browser automation CLI for AI agents

github.com/vercel-labs/agent-browser

browser console Tools AI

AI 에이전트 대상 헤드리스 브라우저 자동화 CLI.
Rust의 CLI와 Node.js 데몬(Playwright 이용)으로 구성, 클라이언트・데몬 구성으로 동작함.
접근성 트리에서 AI 대상 최적화된 스냅샷을 얻는 기능이나, ARIA 로컬이나 라벨에서 요소 검출, WebSocket에서 브라우저 뷰포트의 스트리밍을 제공.


Pull Request to this article
JSer.info Slackに参加する