UmbrellaX 비공개 베타 업데이트
보안 검토 중에 암호화 및 보안 통신에 사용되는 여러 오픈 소스 라이브러리에서 심각한 문제를 발견했습니다. 로컬 수정 사항이 준비되었지만 여전히 완전한 검증과 독립적인 검토가 필요합니다. 이러한 위험이 해결되었다고 확신할 때까지 베타 버전을 출시하지 않을 것입니다.
다음은 일반 언어로 된 전체 목록입니다. 섹션을 열어 무엇이 잘못될 수 있는지, 일상적인 예와 패치 참조를 확인하세요.
해독된 그룹 비밀은 메모리나 진단에 추가 복사본을 남길 수 있습니다. 잘못된 암호문, 환영 메시지, 제안, 업데이트 경로, 로컬 키 누락, 난수 오류, 비정상적인 시스템 시간 및 에포크 제한으로 인해 안전한 오류가 반환되는 대신 앱이 종료될 수 있습니다. 모든 릴리스 경로에서 일부 트리 무결성 및 경로 길이 검사도 보장되지 않았습니다.
예를 들어 네트워크에서 수신된 손상된 그룹 업데이트는 메신저를 닫거나 무결성 검사를 건너뛰거나 충돌 보고서에 메시지 바이트를 노출하지 않고 거부되어야 합니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: openmls 0.8.1 | UMB-117, UMB-118, UMB-120, UMB-121, UMB-125, UMB-128, UMB-129, UMB-130, UMB-131, UMB-132, UMB-133, UMB-134, UMB-135, UMB-136, UMB-137, UMB-138, UMB-139
삭제되거나 교체된 MLS 기록은 일련화된 사본이나 숨겨진 제안 본문을 메모리에 남길 수 있습니다. 그룹 스냅샷에는 범위가 지정된 원자 교체가 필요했고 디버그 액세스에는 수정이 필요했으며 선택적 지속성 모드에는 인증된 암호화 데이터 대신 읽을 수 있는 인코딩된 텍스트가 저장되었습니다.
예를 들어, 그룹을 삭제하면 숨겨진 보류 제안도 제거되어야 하며, 데이터를 읽을 수 있는 텍스트로만 변환할 때 스토리지 옵션이 암호화된 것처럼 보여서는 안 됩니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: openmls_memory_storage 0.5.0 | UMB-119, UMB-212, UMB-213, UMB-214
사용되지 않은 선택적 백엔드가 여전히 취약한 패키지를 종속성 인벤토리로 가져왔습니다. HPKE 개인 자료에는 더 강력한 편집 및 메모리 정리도 필요했습니다.
예를 들어, 우리가 사용하지 않는 백엔드는 알려진 취약한 패키지를 릴리스로 가져와서는 안 되며, 오류 인쇄물에는 HPKE 개인 키가 포함되어서는 안 됩니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: hpke-rs 0.6.1 | RUSTSEC-2026-0124
무작위 생성기와 임시 HPKE 값은 실제 정리가 필요했습니다. 인증된 암호 해독에 실패하면 부분적으로 수정된 일반 텍스트 버퍼가 메모리에 남을 수도 있습니다.
예를 들어 메시지가 인증에 실패하면 절반만 처리된 일반 텍스트 버퍼를 즉시 삭제해야 합니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: hpke-rs-rust-crypto 0.6.1 | UMB-122
무작위 상태, 키 파생 출력, 개인 키 바이트 및 실패한 암호화 버퍼를 정리해야 합니다. 유효하지 않은 nonce 길이와 지원되지 않는 키 교환 요청은 프로세스 종료 경로에 도달할 수 있습니다.
예를 들어, 잘못된 nonce는 메신저를 닫는 대신 정상적인 오류를 반환해야 합니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: openmls_rust_crypto 0.5.1 | UMB-122, UMB-123, UMB-124
nonce, 공유, 스칼라 바이트 및 임시로 읽을 수 있는 비밀 문자열에 서명하려면 성공 및 오류 경로를 정리해야 합니다. 사용되지 않는 기능도 유지 관리되지 않는 종속성 체인을 가져왔습니다.
예를 들어 그룹 서명에 사용되는 임시 값은 서명이 완료되거나 실패한 후에 메모리에서 읽을 수 있는 상태로 남아 있어서는 안 됩니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: frost-core 3.0.0 | local audited patch
폐기된 의사 난수 키와 중간 키 확장 블록은 최종 키가 생성된 후에도 메모리에 남아 있을 수 있습니다.
예를 들어 세션 키가 준비된 후에는 이를 파생시키는 데 사용된 임시 구성 요소를 삭제해야 합니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: hkdf 0.12.4 | local compatibility backport
파생된 키 블록, 대형 키 다이제스트 및 호환 가능한 HMAC 분기의 내부 해시 결과는 일반 메모리에 남아 있을 수 있습니다.
예를 들어, 메시지가 진짜인지 확인하는 과정에서 재사용 가능한 키 파생 바이트가 남아 있어서는 안 됩니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: hmac 0.12.1 | local compatibility backport
사용 가능한 정리 옵션은 기본적으로 꺼져 있으며 임시 및 저장된 키 파생 상태의 일부만 다루었습니다.
예를 들어, 인증 확인을 완료하면 임시 블록과 저장된 키 파생 블록을 모두 정리해야 합니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: hmac 0.13.0 | local audited patch
SHA-256 및 SHA-512 작동 상태 및 블록 카운터는 호환 가능한 분기에서 삭제 시간 정리가 필요했습니다.
예를 들어, 키 파생 중에 비밀을 해싱하면 재사용 가능한 메모리에 해시 엔진의 작동 상태가 남아 있어서는 안 됩니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: sha2 0.10.9 | local compatibility backport
손상된 입력은 막대한 할당을 요청하거나, 선언된 필드 이상을 읽거나, 진행 없이 루프를 실행하거나, 오버플로 및 패닉 경로를 트리거할 수 있습니다. 비밀 벡터 진단과 부분적인 입력 실패도 정리가 필요했습니다.
예를 들어, 거대한 필드를 포함한다고 거짓으로 주장하는 작은 메시지는 막대한 메모리를 소비하거나 앱을 무한 루프에 가두어서는 안 됩니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: tls_codec 0.4.2 | local audited patch
STUN 메시지 무결성 키는 진단에서 인쇄될 수 있으며 임시 자격 증명 텍스트로 명시적으로 삭제되지 않았습니다.
예를 들어 연결 오류 로그는 릴레이 요청을 인증하는 데 사용된 비밀을 공개해서는 안 됩니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: stun 0.17.1 | audit patch 6e5cbb42
수명이 긴 TURN 비밀번호는 일반 문자열로 저장되었으며 클라이언트가 삭제되면 명시적으로 삭제해야 했습니다.
예를 들어, 통화를 종료할 때 해당 릴레이 비밀번호가 이전 클라이언트 개체의 메모리에 남아 있어서는 안 됩니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: turn 0.17.1 | audit patch 6e5cbb42
TURN 사용자 이름과 비밀번호는 일반 문자열로 저장되었으며 ICE 디버그 출력에 자동으로 인쇄되었습니다.
예를 들어 통화 연결 보고서에는 자격 증명이 있다고 표시되지만 사용자 이름과 비밀번호는 인쇄하면 안 됩니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: webrtc-ice 0.17.1 | audit patch 6e5cbb42
미디어 키 파생 입력, 파생 키, 저장된 SRTP/SRTCP 솔트 및 암호화 작업 상태에는 안정적인 정리가 필요했습니다.
예를 들어, 암호화된 호출이 끝난 후 임시 미디어 키와 솔트가 일반 버퍼에 남아 있어서는 안 됩니다.
로컬 수정사항이 준비되었으며 확인이 진행 중입니다.
기술적인 세부사항: webrtc-srtp 0.17.1 | audit patch 6e5cbb42
Beta notes와 access updates는 제 개인 X 계정을 팔로우해 주세요.