1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-06 01:33:12 +02:00
Commit Graph

17 Commits

Author SHA1 Message Date
Sébastien Helleu 43a118ac47 core: fix timing attack on TOTP validation (GHSA-vhv8-g2r9-cwcc)
weecrypto_totp_validate compared the generated and client-supplied OTPs
with strcmp and broke out of the time-window loop on the first match.
Both choices leaked information via response timing: strcmp leaked the
expected OTP digit-by-digit (shrinking the brute-force search from
~10^digits to a handful of guesses within the 30-second window), and
the early break leaked which window offset matched.

Compare in constant time with string_memcmp_constant_time and always
iterate the full window, OR-ing the result into otp_ok without an
early exit.

This affects both relay protocols (which call totp_validate via the
public info hook) and any other caller of the info hook.
2026-05-31 09:16:46 +02:00
Luc Schrijvers 8fe741e057 Build fix for Haiku 2026-03-29 18:31:27 +02:00
Sébastien Helleu f53e7fb9ef core, plugins: fix typos in comments on functions, use imperative 2026-03-23 20:45:36 +01:00
Sébastien Helleu 106fe6ca7c core: update copyright dates 2026-03-08 10:37:15 +01:00
Emil Velikov f48e6ee81d Bump required (lib)gcrypt to v1.8.0
Bump the requirement to v1.8.0, which means we can remove ~70% of the
ifdef guard.

It was released over 8 years ago, with 3 new feature releases since
then and dozen of bugfix releases in the 1.8 branch.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 1.8.5 and 1.8.7 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Albert Lee 69d3787b5e core: improve support for non-macro htonll and htobe64 2025-05-25 09:03:48 +02:00
Sébastien Helleu ceb6a007ff core: add missing empty line 2025-05-05 13:18:35 +02:00
Sébastien Helleu 2475f20cb7 all: move description of C files below the copyright and license 2025-03-31 11:47:49 +02:00
Sébastien Helleu 3a6ac9ee76 all: add SPDX license tag 2025-03-31 07:49:26 +02:00
Sébastien Helleu d8987a1678 all: replace Copyright lines by SPDX copyright tag 2025-03-30 14:47:12 +02:00
Sébastien Helleu 547e2b934e core: update copyright dates 2025-02-01 23:13:18 +01:00
Sergey Fedorov 33232f3f05 core-crypto.c: fix htobe64 for Darwin (closes #2216) 2024-12-13 13:04:37 +01:00
Fredrik Fornwall a15ae18c81 core: Fix build on Android to define htobe64 2024-09-09 21:48:55 +02:00
LuK1337 5b58356390 core: replace manual endianness swap with htobe64() call
This fixes generation of TOTP and tests on FreeBSD.
2024-08-14 12:15:55 +02:00
Sébastien Helleu e73bff95fa core: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Mario Campos 23e0533ea1 core: remove unnecessary call to stat() in hash file function
The call to fopen() will fail anyway if the file doesn't exist.
2024-03-13 07:15:12 +01:00
Sébastien Helleu 24c4029c96 core: remove "wee-" prefix from source files in src/core and src/core/hook 2024-03-12 21:27:37 +01:00