flawopen.com/보안 사고/Citrix Bleed

Citrix Bleed: 단 하나의 함수 반환값 오해가 다중 인증(MFA)을 완벽히 무력화한 전말

Critical — Session hijacking CWE-125: Out-of-bounds Read Disclosed October 2023
쉬운 설명 (ELI5)

조수에게 50글자만 적히는 작은 카드에 메모를 베껴 적고 길이를 보고하라고 합니다. 조수는 50자를 적었지만 '원래 편지는 800글자였습니다'라고 답합니다. 당신이 전달자에게 그 카드에서 800글자를 읽으라고 지시하자, 전달자는 50자를 읽은 뒤 책상 위에 놓인 다른 비밀문서까지 줄줄이 낭독합니다.

Why patching was not enough

This is the operational lesson teams repeatedly missed, and it mirrors the GitLab path traversal two years later. Upgrading the appliance stopped further memory disclosure — but any session tokens already stolen remained valid. Attackers who had harvested tokens before the patch simply continued using them afterwards.

Citrix's guidance was therefore explicit that remediation required both upgrading and terminating all active sessions on the appliance. Organisations that patched without killing sessions stayed compromised, and several high-profile intrusions followed exactly that path.

The lessons that actually transfer

FAQ

How is this different from Heartbleed?

Both are out-of-bounds reads that leak adjacent process memory to an unauthenticated attacker, and both leaked credentials. The underlying mistake differs: Heartbleed trusted an attacker-supplied length field directly, while Citrix Bleed trusted a length derived from a standard library function whose semantics were misunderstood.

How do I know whether tokens were stolen before I patched?

Often you cannot determine this conclusively from appliance logs, which is precisely why the guidance is to terminate all sessions unconditionally rather than attempt to establish exposure first.

Related reading

출처 및 공식 보안 권고