
풀스택 도구 브리핑: Bun 1.4.4, Next.js 16.4 및 Node.js 중요 패치
2026년 10월 말, TypeScript 및 JavaScript 생태계 전반에 걸쳐 런타임 업데이트, 운영 보안 권고 및 데이터베이스 인체공학적 개선이 매우 활발하게 이루어지고 있습니다. 이번 릴리스는 단순한 버전 숫자 올리기가 아니라 코드 서식 지정 오버헤드, 의도치 않은 운영 데이터베이스 쿼리, 에이전트 기반 마이그레이션, 런타임의 원격 코드 실행 취약점과 같은 실제적인 문제들을 해결합니다.
변경된 점, 매일 사용하는 스택에서 이것이 중요한 이유, 그리고 프로덕션에 영향을 주지 않고 대처하는 방법을 정리했습니다.
Bun 1.4.4, 외부 포맷터 논쟁 종결
Bun v1.4.4는 bun fmt이라는 내장 코드 포맷터를 도입했습니다. 이 포맷터는 Prettier를 대체할 수 있도록 설계되었습니다. 벤치마크 결과에 따르면 oxfmt보다 3~6배, 대규모 모노레포 환경의 표준 Prettier보다는 최대 286배 빠른 속도를 보이며, 기존 Prettier 설정 파일을 그대로 준수합니다.
이번 릴리스의 최적화는 서식 지정에만 국한되지 않습니다. Bun 팀은 쿼리당 Bun.SQL CPU 오버헤드를 최대 48% 줄였고, COPY에 대한 기본 스트리밍 지원을 도입했으며, 명시적인 query.cancel() 기능을 추가하고 bun check 타입 검사 속도를 최대 7.8배까지 가속화했습니다.
추가 Node 모듈을 설치하지 않고도 프로젝트 전반에서 포맷터를 직접 실행하세요:
내장 서식 지정 기능을 도입하면 지속적 통합(CI) 파이프라인에서 가장 무거운 작업 중 하나가 제거되어, 몇 분씩 걸리던 린트 및 서식 지정 작업을 1초 미만으로 단축할 수 있습니다.
Next.js 16.4, 캐시 컴포넌트 기본 설정 및 에이전트 마이그레이션 추가
Next.js 16.4는 create-next-app을 통해 생성된 모든 새 애플리케이션에서 캐시 컴포넌트를 기본적으로 활성화합니다. React 19.3 통합과 결합하여, 프레임워크는 이제 데이터 중심 뷰에 대한 표준 사고방식으로 컴포넌트 수준의 캐싱 지시어('use cache')를 기대합니다.
낮아진 Turbopack 컴파일 지연 시간과 최적화된 프로덕션 번들 용량과 함께, 이번 업데이트에서는 에이전트 지향 CLI 플래그가 도입되었습니다:
이 명령어는 터미널에 단순히 호환성 중단 변경 사항을 출력하는 대신, Claude Code나 Cursor와 같은 코딩 에이전트에 최적화된 구조화된 컨텍스트 페이로드를 제공합니다. 로컬 AST 차이, 사용 중단된 API 위치, 권장되는 변환 방식을 에이전트 러너에 직접 전달하여 프레임워크 버전 업그레이드 시의 수동 작업을 크게 줄여줍니다.
Node.js 중요 보안 패치: CVE-2026-111497 즉시 해결 필요
Node.js 보안 팀은 v26.12.1, v24.22.1, v22.23.4 등 모든 활성 릴리스 라인에 대해 긴급 업데이트를 발표했습니다. 이번 패치 번들은 CVE-2026-111497을 비롯한 10개의 고유한 CVE를 해결합니다.
CVE-2026-111497은 내장 Brotli 디코더의 경계 밖 쓰기(out-of-bounds write) 결함입니다. 역방향 프록시, API 게이트웨이 및 웹 스크래핑 유틸리티 등에서 흔히 사용하는 신뢰할 수 없는 악의적으로 조작된 Brotli 스트림을 애플리케이션이 압축 해제할 때, 공격자가 원격 코드 실행을 유발할 수 있습니다. 이번 릴리스는 또한 심각도가 높은 TLS 호스트 이름 검증 우회(CVE-2026-105483 및 CVE-2026-106069)를 해결합니다.
백엔드에서 Node.js를 실행하여 압축된 페이로드를 수신하거나 프록시하는 경우, 이번 주에는 기능 개발보다 컨테이너 베이스 이미지 업데이트를 최우선으로 처리해야 합니다.
Drizzle ORM RC5, 의도치 않은 필터 스캔 제거
Drizzle ORM v1.0.0-rc.5가 출시되었습니다. 이번 버전은 필터 매개변수가 undefined으로 평가될 때 쿼리가 의도치 않게 전체 테이블을 반환하는 고질적인 관계형 위험을 해결하는 데 중점을 두었습니다.
RC5에서는 관계형 필터 조건에 예기치 않은 undefined 값이 전달되면 런타임 오류가 발생합니다. 의도적으로 조건을 우회하려는 경우, Drizzle은 명시적인 EmptyFilter 심볼을 요구합니다.
이 작은 계약 변경으로 코드 리뷰에서 간과하기 쉬운 전체 권한 유출 범주와 의도치 않은 전체 테이블 스캔을 방지할 수 있습니다.
우선 순위 정하기
프로덕션 Node.js 워크로드를 가장 먼저 패치하세요. Brotli 메모리 손상 취약점은 공용 네트워크 인그레스를 처리하는 모든 서비스에 즉각적인 경계 위협이 됩니다. 백엔드 런타임 보안이 확보되면, 중요도가 낮은 CI 워크플로우에서 Bun 1.4.4를 테스트하여 포맷터 호환성을 평가하고, 1.0 정식 릴리스 전에 Drizzle 데이터베이스 쿼리에 처리되지 않은 undefined 인수가 있는지 검토하십시오.