• software • linux • security • c • Hun Jang
실제 운영 서버 공격에 악용된 Linux 커널 UDP 소켓 Use-After-Free 취약점(CVE-2026-98276)의 비원자적 sk_flags 경합 원리와 SOCK_RCU_FREE 증발 메커니즘을 정리한다. 배포판별 커널·라이브패치 현황과 크래시 로그 점검 절차를 살펴본다.
• software • linux • security • c • Hun Jang
Understand how CVE-2026-98276 races sock_gettstamp() against bind() to overwrite SOCK_RCU_FREE on Linux UDP sockets, why sysctl and firewalls cannot mitigate it, and how to verify kernel and livepatch fixes.
• docker • linux • security • development • Hun Jang
Docker 소켓 권한 오류에서 context와 데몬 상태를 구분하고 docker 그룹의 보안 위험과 rootless·Desktop 설정을 점검한다.
• docker • linux • security • development • Hun Jang
Diagnose Docker socket permission errors by checking context and daemon status, docker group security, and rootless or Desktop setups.
• development • software • linux • c • Hun Jang
PostgreSQL 17에서 수십 년 만에 전면 개편된 VACUUM 데드 튜플 관리 엔진 'TidStore'의 아키텍처를 분석한다. 레거시 6바이트 플랫 배열의 1GB 한계와 인덱스 반복 스위핑(Multi-pass I/O) 병목을 짚고, BlockNumber 키 기반 Adaptive Radix Tree(ART) 접두사 압축, 희소 블록 인라인 임베딩과 고밀도 비트맵 듀얼 전략, 정렬(qsort) 없는 사전순 방출 원리 및 로컬 Python 검증 시뮬레이터를 정리한다.
• linux • development • Hun Jang
Distinguish EMFILE from ENFILE and inspect the real process limit. Seven isolated Python checks reproduce FD exhaustion, recovery after close, and exception-safe cleanup.
• linux • development • Hun Jang
EMFILE과 ENFILE을 구분하고 실제 프로세스 한도와 FD 추이를 확인한다. Python의 별도 프로세스에서 7개 검사로 고갈·close 후 회복·예외 정리를 재현한다.
• cloudflare • development • software • linux • web • Hun Jang
전 세계 2,500억 개 DNS 레코드를 서빙하는 Cloudflare 1.1.1.1 코어 플랫폼 'Big Pineapple'이 엔트리당 메모리를 953바이트에서 420바이트로 56% 줄여 글로벌 100TB RAM을 확보한 5단계 최적화(Box 슬라이스 전환, 3개 레코드 섹션 단일 통합, 중복 QNAME 생략, 비트패킹 및 Enum Box, RFC 1035 Wire Format 단일 버퍼링)를 분석한다. 캐시 삽입 처리량 43% 향상과 지연 시간 19% 단축 원리 및 로컬 Python 검증 시뮬레이터를 정리한다.
• software • linux • security • docker • Hun Jang
257바이트 이상의 긴 비밀번호로 Alpine Linux 등 musl 기반 OpenSSH의 비밀번호 미설정 계정(*) 인증을 우회하는 CVE-2026-123158(*sshole) 원리와 10.6p2 패치를 정리한다. 노출 조건 5가지와 컨테이너·클라우드 이미지 점검 절차를 살펴본다.
• software • linux • security • docker • Hun Jang
Analyze how a 257+ byte password triggers a musl crypt() sentinel collision (*) in non-PAM OpenSSH (CVE-2026-123158), which Alpine Linux configurations are exposed, and how OpenSSH 10.6p2 closes the bypass.
• software • development • linux • security • Hun Jang
11월 5일 공개된 OpenSSH 인증 우회 수정의 Alpine 영향 조건과 백포트 버전을 확인한다. 유효 설정 검사, 데몬 재시작, 새 로그인 검증과 과거 침해 점검을 구분한다.
• cloudflare • linux • development • software • web • Hun Jang
네트워크 서비스 업그레이드 시 발생하는 ECONNREFUSED와 SO_REUSEPORT의 연결 유실 문제를 해결하는 Cloudflare의 Ecdysis 아키텍처를 분석한다. Fork-then-exec 모델, Listening 소켓 FD 상속, 준비 완료 핸드셰이크, 무중단 드레인 메커니즘과 로컬 Python 검증 시뮬레이터를 정리한다.
• linux • security • development • software • Hun Jang
11월 4일 공개된 rsync 3.5.2의 CVE-2026-119741 수정을 정리한다. 송신자·수신자 역할, 읽기 전용 미러의 노출, 공급자 백포트와 실행 바이너리 확인, 전송·복원 회귀 점검을 구분한다.
• linux • development • Hun Jang
Reproduce unread-pipe stalls in Python subprocess. Six Linux checks cover communicate, run, exit errors, timeout cleanup, and file redirection for larger output.
• linux • development • Hun Jang
출력이 많은 외부 명령에서 wait가 멈추는 원인을 재현한다. Linux·Python의 6개 검증으로 양쪽 파이프 소비, 시간 초과 정리와 파일 전달의 경계를 확인한다.
• linux • development • Hun Jang
설정 파일 덮어쓰기 중간의 파싱 실패를 재현한다. Python os.replace·fsync 예제로 기존 핸들과 새 독자, 직렬화 실패와 내구성의 경계를 확인한다.
• linux • development • Hun Jang
Reproduce partial JSON during in-place rewrites. Use Python os.replace and fsync to publish complete files, and understand open readers, serialization failures, and durability limits.
• development • software • linux • Hun Jang
설정 파일 저장과 셸 변수, 자식 프로세스 환경 상속을 구분한다. Bash·Python·Node.js 합성 테스트 6개로 dotenv 파서 차이, source의 실행 위험, 적용 시점과 안전한 확인 순서를 살펴본다.
• software • development • linux • security • Hun Jang
KISA의 10월 29일 CVE-2026-46300 권고를 바탕으로 업스트림 버전과 배포판 백포트, 설치 패키지와 실행 커널을 구분한다. AWS의 영향 예외와 읽기 전용 점검, 조치 완료 증거를 정리한다.
• linux • development • Hun Jang
Reproduce a deleted log held open by a process. Learn how unlink differs from close, interpret df and du, investigate with lsof +L1, and release log references safely.
• linux • development • Hun Jang
Linux에서 삭제한 로그를 프로세스가 계속 열어 두는 상황을 Python으로 재현한다. unlink·close의 차이, df·du 관찰 범위, lsof +L1 점검과 로그 재열기 원칙을 정리한다.
• ai • security • linux • Hun Jang
NVIDIA GTC Berlin 2026에서 발표된 AI 에이전트 보안 런타임 OpenShell의 구조와 동작 원리를 정리한다. 샌드박스 외부의 Supervisor, 정형 검증 기반 Policy Prover, 하드웨어 격리의 역할을 살펴본다.
• development • linux • Hun Jang
TCP의 메시지 경계와 recv의 짧은 읽기를 구분한다. 4바이트 길이 프리픽스 Python 예제로 연속 프레임·중도 종료·최대 길이 제한을 처리하고 로컬 TCP 검증 결과를 정리한다.
• development • linux • Hun Jang
Handle TCP short reads with a four-byte length prefix. A tested Python example separates consecutive frames, detects truncated messages, and rejects oversized payloads.
• go • linux • development • Hun Jang
Nagle과 delayed ACK의 차이, Go의 기본값, 애플리케이션 버퍼를 구분하고 Linux 소켓 옵션을 직접 확인한다.
• onnxruntime • arm64 • aarch64 • linux • tts • development • Hun Jang
ARM64(aarch64) 환경에서 ONNX Runtime으로 모델을 추론할 때 amd64와 다른 결과가 나오거나, TTS 모델의 음원이 깨지는 문제가 발생할 수 있다. 이 글에서는 ORT_ENABLE_ALL 그래프 최적화 옵션으로 인해 발생했던 실제 문제와, aarch64 환경에서 ORT_ENABLE_BASIC으로 낮춰 해결한 경험을 정리한다.
• aws • docker • linux • Hun Jang
aws configure와 docker login이 정상인데도 docker pull 또는 docker push 시no basic auth credentials 오류가 발생할 수 있다. 이 글에서는 AWS 공식 문서에서 다루는 일반적인 원인 외에,sudо 사용으로 인한 인증 문제를 중심으로 정리한다.
• linux • c • development • Hun Jang
ARM64용 LibTorch v2.0.0 CPU-only 빌드 튜토리얼. Amazon Linux 2023에서 의존성 설치, cmake 구성, Lite Interpreter 최적화와 XNNPACK/QNNPACK 활성화, 배포 구조 정리.
• software • linux • development • Hun Jang
리눅스에서 특정 프로세스가 CPU 100%를 지속적으로 점유한다면 무한 루프 가능성이 크다. 본 글에서는 ps와 gdb를 이용해 CPU를 가장 많이 소모하는 스레드를 찾아내고, 해당 스레드의 함수 호출 스택(call trace)을 확인하는 방법을 정리한다. 프로세스를 종료하지 않고도 실행 중 문제 원인을 분석할 수 있다.
• linux • Hun Jang
리눅스에서 시작 프로그램을 등록하여 사용하는 경우 여러 서비스들이 실행된 후에 시작 프로그램이 시작되도록 하고 싶을 경우 at 명령을 사용하여 지연시작을 구현할 수 있다.