Blame
| 55ccc0 | uddr | 2026-04-22 20:58:00 | 1 | # CVE-2026-35058 - fix server ASSERT() on receiving a suitably malformed packet with a valid tls-crypt-v2 key |
| 2 | ||||
| 3 | tls-crypt-v2: Avoid interpreting opcode as part of WKc |
|||
| 4 | ||||
| 5 | The buffer we pass to tls_crypt_v2_extract_client_key contains the |
|||
| 6 | entire received control channel packet. We should skip the opcode before |
|||
| 7 | trying to read WKC. |
|||
| 8 | ||||
| 9 | This logic error is a second bug behind the XlabAI finding, next too the |
|||
| 10 | too-strict ASSERT in tls_crypt_unwrap. |
|||
| 11 | ||||
| 12 | Also remove a too strict ASSERT in tls_crypt_unwrap. We already check |
|||
| 13 | a few lines later for a too short packet and return a proper error |
|||
| 14 | ("packet too short"). |
|||
| 15 | ||||
| 16 | XlabAI found a way of triggering this ASSERT that requires a tls-crypt-v2 |
|||
| 17 | client key that has a specific property (a specific byte need to have a |
|||
| 18 | specific value, about 1/256 probability). If an attacker can get hold of |
|||
| 19 | such a tls-crypt-v2 client key or observe a handshake using such a key, |
|||
| 20 | the attacker can trigger the ASSERT, crashing the server. Setups that do |
|||
| 21 | not use tls-crypt-v2 are not affected. |
|||
| 22 | ||||
| 23 | Independently, Cisco Talos reported a way to trigger this ASSERT with any |
|||
| 24 | tls-crypt-v2 key but this requires the attacker to be also in possession |
|||
| 25 | of the private key part of the tls-crypt-v2 client key or to inject packet |
|||
| 26 | into a live session of a client session. |
|||
| 27 | ||||
| 28 | OpenVPN version 2.6.0 through 2.6.19 and 2.7_alpha1 through 2.7.1 are affected. This is fixed in version 2.6.20 and 2.7.2. |
|||
| 29 | ||||
| 30 | CVE Record: [CVE-2026-35058](https://www.cve.org/CVERecord?id=CVE-2026-35058) |
|||
| 31 | ||||
| 32 | Github: [OpenVPN/openvpn-private-issues#111](https://github.com/OpenVPN/openvpn-private-issues/issues/111) |
|||
| 33 | ||||
| 34 | Release notes: [openvpn-2.7.2](https://community.openvpn.net/ReleaseHistory#openvpn-272-released-22-april-2026) [openvpn-2.6.20](https://community.openvpn.net/ReleaseHistory#openvpn-2620-released-22-april-2026) |
|||
| 35 | ||||
| 36 | Reported-By: XlabAI Team of Tencent Xuanwu Lab (xlabai@tencent.com) |
|||
| 39b66e | uddr | 2026-04-22 20:58:38 | 37 | |
| 55ccc0 | uddr | 2026-04-22 20:58:00 | 38 | Reported-By: Guannan Wang (wgnbuaa@gmail.com |
| 39b66e | uddr | 2026-04-22 20:58:38 | 39 | |
| 55ccc0 | uddr | 2026-04-22 20:58:00 | 40 | Reported-By: Zhanpeng Liu (pkugenuine@gmail.com) |
| 39b66e | uddr | 2026-04-22 20:58:38 | 41 | |
| 55ccc0 | uddr | 2026-04-22 20:58:00 | 42 | Reported-By: Guancheng Li (lgcpku@gmail.com) |
| 39b66e | uddr | 2026-04-22 20:58:38 | 43 | |
| 55ccc0 | uddr | 2026-04-22 20:58:00 | 44 | Reported-By: Emma Reuter of Cisco ASIG (TALOS-2026-2381) |
