8월 23일 01:16:52 UTC에 TaxHacker를 대상으로 CVE가 공개됐습니다. TaxHacker는 언어 모델을 사용해 영수증과 송장을 읽는 셀프호스팅 회계 도구입니다. CVE-2026-78062는 lib/config.ts의 envSchema.parse 함수에서 BETTER_AUTH_SECRET 인자를 통해 접근 가능한 하드코딩 자격 증명을 설명하며, 적용 버전은 0.8.2 이하입니다. 해당 항목은 공격이 원격으로 시작될 수 있다고 밝힙니다.
하드코딩된 인증 비밀이 실제로 하는 일
그 비밀은 세션 토큰에 서명하고 검증하는 역할을 합니다. 배포본에 포함된 기본값으로 실행되면, 그 기본값을 아는 누구든지 — 그리고 그 값은 공개 저장소에 있습니다 — 애플리케이션이 받아들일 토큰을 만들어낼 수 있습니다. 이는 자격 증명 탈취가 아닙니다. 자격 증명 생성이며, 정당한 사용자와의 어떤 상호작용도 필요로 하지 않습니다.
왜곡: 하나의 결함, 두 개의 심각도 라벨, 한 명의 평가자
해당 항목에는 같은 CNA의 세 가지 점수가 붙어 있습니다. CVSS 4.0에서는 5.5점으로 MEDIUM입니다. CVSS 3.1에서는 7.3점으로 HIGH입니다. CVSS 2.0에서는 7.5점입니다. 이 행들 사이에서 취약점 자체가 달라지는 것은 없습니다. 달라지는 것은 평가 체계뿐입니다. 심각도 라벨로 분류하는 트리아지는 도구가 어느 열을 읽느냐에 따라 달라지며, 최신 체계만 보여주는 대시보드에서는 이 항목이 중간으로 표시됩니다.
공개와 미패치는 서로 배타적이지 않습니다
설명에 따르면 프로젝트는 이슈 보고를 통해 조기에 통보받았지만 아직 응답하지 않았습니다. CVE 식별자는 조정의 산물이지, 패치가 존재한다는 증거가 아닙니다. 이번 사례는 결함이 아직 열려 있는 상태에서 공개됐으며, 이는 CVE를 문제의 종결이 아니라 한복판에서의 확대 신호로 읽게 만듭니다.
셀프호스팅 AI 도구에서 이런 유형의 버그가 계속 나오는 이유
환경 스키마의 플레이스홀더 비밀값은 프로젝트가 최초 클론 상태에서도 실행되도록 하기 위해 존재합니다. 그러나 이는 프로젝트가 시연 단계가 아니라 실제로 배포되는 순간 취약점으로 바뀝니다. 그리고 일반적으로 운영팀이 아니라 최종 사용자가 설치하는 셀프호스팅 AI 애플리케이션은 정확히 그 경계선 위에 놓여 있습니다.
해결은 유지관리자를 필요로 하지 않습니다
BETTER_AUTH_SECRET를 생성된 값으로 설정하고, 기본값으로 발급된 모든 세션을 회전하십시오. 수정이 코드가 아니라 설정이기 때문에, 이슈 트래커의 침묵은 배포자에게 장애가 되지 않습니다.
