# Gpg.fail

> Clean Markdown view of GeekNews topic #25390. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25390](https://news.hada.io/topic?id=25390)
- GeekNews Markdown: [https://news.hada.io/topic/25390.md](https://news.hada.io/topic/25390.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-12-28T16:33:03+09:00
- Updated: 2025-12-28T16:33:03+09:00
- Original source: [gpg.fail](https://gpg.fail)
- Points: 4
- Comments: 1

## Topic Body

- GnuPG와 관련된 **여러 보안 취약점**을 공개한 웹사이트로, 각 취약점의 세부 설명 페이지를 연결  
- 사이트에는 **PGP 서명, 암호화, 신뢰 검증** 과정에서 발생하는 다양한 문제 사례가 나열됨  
- 주요 항목에는 **평문 공격, 경로 탐색, 해시 계산 오류, 메모리 손상, 위조 서명** 등이 포함됨  
- 운영자는 사이트를 급히 다시 작성 중이며, **슬라이드·PoC·패치**를 곧 공개할 예정임을 언급  
- 오픈소스 보안 도구의 **서명 무결성과 신뢰 체계**에 대한 심각한 검증 필요성을 드러내는 사례  

---

### 사이트 개요
- gpg.fail은 **GnuPG(OpenPGP 구현체)** 의 취약점을 모아 공개하는 사이트로 구성  
  - 각 항목은 별도의 링크로 세부 기술 분석 페이지로 연결  
  - 운영자는 “사이트 소스코드를 집에 두고 와 다시 작성 중이며, 내일 더 나은 버전을 기대하라”고 언급  
- 사이트 상단에는 **“Slides, pocs and patches soon!”** 이라는 문구로 향후 자료 공개를 예고  

### 공개된 주요 취약점 목록
- **Multiple Plaintext Attack on Detached PGP Signatures**  
  - 분리된 PGP 서명에서 **다중 평문 공격**이 가능함을 지적  
- **GnuPG Accepts Path Separators and Path Traversals in Literal Data "Filename" Field**  
  - GnuPG가 리터럴 데이터의 **파일명 필드에서 경로 구분자와 경로 탐색을 허용**함  
- **Cleartext Signature Plaintext Truncated for Hash Calculation**  
  - **해시 계산 시 평문이 잘려나가는 문제** 발생  
- **Encrypted message malleability checks are incorrectly enforced causing plaintext recovery attacks**  
  - **암호문 가변성 검증이 부정확하게 수행되어 평문 복구 공격**이 가능함  
- **Memory Corruption in ASCII-Armor Parsing**  
  - **ASCII-Armor 파싱 중 메모리 손상** 발생 가능성  
- **Trusted comment injection (minisign)**  
  - **minisign에서 신뢰된 주석(trusted comment) 주입** 가능성  
- **Cleartext Signature Forgery in the NotDashEscaped header implementation in GnuPG**  
  - **NotDashEscaped 헤더 구현에서 평문 서명 위조** 가능성  
- **OpenPGP Cleartext Signature Framework Susceptible to Format Confusion**  
  - **서명 포맷 혼동(format confusion)** 에 취약  
- **GnuPG Output Fails To Distinguish Signature Verification Success From Message Content**  
  - **서명 검증 성공 여부와 메시지 내용을 구분하지 못하는 출력 문제**  
- **Cleartext Signature Forgery in GnuPG**  
  - **NULL 바이트 처리 오류로 인한 평문 서명 위조** 가능성  
- **Radix64 Line-Truncation Enabling Polyglot Attacks**  
  - **Radix64 줄 절단으로 다형(polyglot) 공격 가능성**  
- **GnuPG may downgrade digest algorithm to SHA1 during key signature checking**  
  - **키 서명 검증 중 해시 알고리듬이 SHA1으로 강등될 수 있음**  
- **GnuPG Trust Packet Parsing Enables Adding Arbitrary Subkeys**  
  - **신뢰 패킷 파싱 과정에서 임의의 서브키 추가 가능성**  
- **Trusted comment Injection (minisign)**  
  - minisign 관련 **신뢰 주석 주입 취약점**이 중복 언급됨  

### 향후 계획
- 운영자는 현재 **패치 작업 중이며**, 슬라이드와 PoC(개념 증명 코드)를 곧 공개할 예정  
- 사이트는 임시로 재작성된 상태이며, **다음 날 개선된 버전**을 예고  

### 의미
- GnuPG의 **서명·암호화·신뢰 검증 체계 전반에 걸친 취약점**이 다수 존재함을 보여줌  
- 오픈소스 보안 도구의 **기본 신뢰성 검증과 코드 감사 강화 필요성**을 강조하는 사례

## Comments



### Comment 48350

- Author: neo
- Created: 2025-12-28T16:33:04+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46403200) 
- 최근 GnuPG의 취약점 발표 이후 신뢰가 흔들리고 있음. [CCC 발표 영상](https://fahrplan.events.ccc.de/congress/2025/fahrplan/event/to-sign-or-not-to-sign-practical-vulnerabilities-i)에서 **제로데이**들이 공개되었고, 일부는 “wontfix”로 표시되어 실망스러움  
  - “Werner Koch에 대한 신뢰가 사라졌다”는 말이 있었는데, 그 이유를 묻는 사람도 있었음  
  - 어떤 이는 GPG가 이미 수십 년 전부터 **잃어버린 원인(lost cause)** 이라고 표현하며, 진지한 보안 사용자들은 이미 더 나은 대체 도구로 이동했다고 말함  
- [GnuPG 블로그 글](https://www.gnupg.org/blog/20251226-cleartext-signatures.html)이 올라왔지만, 30년 동안 “유해하다고 여겨진” 기능을 여전히 유지하는 건 납득하기 어렵다는 반응이 있었음  
  - 한 사용자는 Werner Koch가 오랜 시간 GPG에 헌신했지만, 이제는 **근본적으로 고칠 수 없는 구조적 결함**이 드러났다고 안타까움을 표함  
- GPG 관련 취약점 중 일부는 “ANSI escape code가 포함된 신뢰할 수 없는 텍스트” 문제로, 마치 터미널 버전의 **XSS**처럼 느껴진다는 의견이 있었음  
- GPG의 **패킷 구조** 자체가 지나치게 복잡하다는 분석도 있었음  
  - 메시지가 여러 형태의 패킷으로 구성되어 있어, 공격자가 상태 머신을 교란시킬 수 있음  
  - 특히 **malleability bug**는 상태 전이 오류로 인해 인증 검증이 누락되는 문제를 유발함  
  - 이런 구조적 복잡성은 “Weird Machine”을 만들어내며, 단순하고 명확한 바이너리 포맷으로 재설계해야 한다는 주장임  
  - 이에 대한 설명이 훌륭하다는 반응도 있었음  
- GPG의 표준 준수 여부에 대한 논의도 이어졌음  
  - 어떤 이는 “이건 GnuPG만의 문제이며 OpenPGP 표준과는 별개”라고 했지만, 다른 사람은 주요 PGP 구현체들(Sequoia, minisign, age 등)에서도 **파서 취약점**이 발견되었다고 지적함  
  - 또 다른 사용자는 OpenPGP 진영이 **LiberePGP(GnuPG)** 와 **RFC-9580(Sequoia)** 로 나뉘어 있고, 각각 최소주의와 최대주의 접근을 취한다고 설명함. 표준 전쟁을 피하고 상호운용성을 유지하는 게 중요하다고 강조함  
  - 일부는 **clearsig 문제**가 OpenPGP 표준 자체의 결함이라고 주장함  
  - 다른 이는 GPG의 버그가 결국 **PGP 프로토콜의 구조적 문제**에서 비롯된 것이라며, 이는 사실상 프로토콜 수준의 버그라고 평가함  
- GPG 서명과 관련해 “git commit/tag 서명에 GPG를 계속 써도 안전한가?”라는 질문이 나왔음  
  - 한 사용자는 GPG의 “bitflip 취약점”을 예로 들며, 공격자가 평문을 조작할 수 있는 심각한 문제라고 설명함  
  - 또 다른 사람은 **단일 키를 여러 애플리케이션에서 공유하는 구조** 자체가 위험하다고 지적하며, 각 앱마다 별도의 키를 두는 것이 안전하다고 주장함  
  - 다른 의견으로는, 이번 취약점들이 원격 공격 수준은 아니며, **패닉보다는 신중한 사용**이 필요하다고 조언함  
  - 한 사용자는 여러 기기에서 GPG와 YubiKey를 쓰다 **1Password SSH agent**로 전환해 훨씬 단순해졌다고 경험을 공유함  
  - 또 다른 이는 GPG를 완전히 대체하려면 **키 배포 문제**를 해결해야 한다고 강조함. 서명 자체보다 **공개키를 신뢰성 있게 배포하는 방법**이 더 어렵다는 점을 지적함  
- Rust 생태계에서 MIT 라이선스를 무심코 사용하는 경향에 대한 우려도 제기됨  
  - 한 사용자는 “MIT가 기본값이라서” 사용하는 경우가 많다고 하며, **GPL3의 카피레프트 보호**가 사라지면 사용자 통제권이 약화될 수 있다고 경고함  
  - 이에 동의한 사람은 예전엔 MIT를 썼지만, 지금은 모든 프로젝트를 **풀 카피레프트**로 전환 중이라고 말함  
  - 또 다른 사람은 이런 현상이 Rust뿐 아니라 대부분의 현대 언어 생태계에서 나타난다고 분석함  
    - 대기업들이 자원봉사 코드 위에 제국을 세우는 현실 때문에 카피레프트의 가치를 다시 보게 되었음  
    - 하지만 법적 제약으로 GPL을 쓸 수 없는 환경에서는 **실용적 이유로 허용적 라이선스**를 택할 수밖에 없다고 함  
    - **Mozilla Public License** 같은 약한 카피레프트가 중간 지점이 될 수 있었지만, FSF가 이를 충분히 밀지 않았다고 아쉬워함  
  - 어떤 이는 “비인간(LLM)이 코드를 학습하는 시대에는 인간 중심의 새로운 라이선스가 필요하다”고 주장함  
  - 또 다른 사람은 “GPL이든 MIT든 결국 **사용 제어도 하나의 기능(feature)** 일 뿐”이라며, 자유 소프트웨어의 통제 논리를 기능적 관점에서 바라봄  
  - 한 사용자는 “결국 소프트웨어가 오래 살아남으려면 **버그를 고치는 것**이 먼저”라고 현실적인 의견을 남김  
- GPG를 여전히 유용하게 쓰는 사람도 있었음  
  - **OpenPGP 스마트카드**나 YubiKey와 함께 쓰면 꽤 안정적이며, 다른 하드웨어 솔루션보다 설정이 쉬움  
  - 이메일보다는 **암호화 백업, 비밀번호 관리자, SSH 키 관리** 등에서 계속 사용할 계획임
