[Pkg-privacy-maintainers] Bug#1105177: onionprobe: TLS (https) probes fail to verify certificates

Gabriel Filion lelutin at torproject.org
Mon May 12 21:56:43 BST 2025


Package: onionprobe
Version: 1.2.0+ds-1
Severity: normal
Tags: upstream patch

Hello,

I've just tried setting up onionprobe 1.2.0 on a trixie host to make it 
monitor a .onion service with https (on port 443). After some delay, 
onionprobe checked the site and showed the following errors:

May 12 20:13:48 hetzner-nbg1-01 onionprobe[584091]: 2025-05-12 
20:13:48,480 INFO: Trying to do a TLS connection to 
v236xhqtyullodhf26szyjepvkbv6iitrhjgrqj4avaoukebkk6n6syd.onion on port 
443 (attempt 1)...
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]: 2025-05-12 
20:13:50,194 INFO: TLS connection succeeded at 
v236xhqtyullodhf26szyjepvkbv6iitrhjgrqj4avaoukebkk6n6syd.onion on port 443
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]: 2025-05-12 
20:13:50,194 INFO: Retrieving certificate information for 
v236xhqtyullodhf26szyjepvkbv6iitrhjgrqj4avaoukebkk6n6syd.onion on port 443
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]: 
/usr/lib/python3/dist-packages/onionprobe/certificate.py:212: 
CryptographyDeprecationWarning: Properties that return a naïve datetime 
object have been deprecated. Please switch to not_valid_before_utc.
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]:   not_valid_before = 
cert.not_valid_before.timestamp()
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]: 
/usr/lib/python3/dist-packages/onionprobe/certificate.py:213: 
CryptographyDeprecationWarning: Properties that return a naïve datetime 
object have been deprecated. Please switch to not_valid_after_utc.
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]:   not_valid_after  = 
cert.not_valid_after.timestamp()
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]: 
/usr/lib/python3/dist-packages/onionprobe/certificate.py:142: 
CryptographyDeprecationWarning: Properties that return a naïve datetime 
object have been deprecated. Please switch to not_valid_after_utc.
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]:   'notAfter' 
: cert.not_valid_after.replace(
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]: 
/usr/lib/python3/dist-packages/onionprobe/certificate.py:144: 
CryptographyDeprecationWarning: Properties that return a naïve datetime 
object have been deprecated. Please switch to not_valid_before_utc.
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]:   'notBefore' 
: cert.not_valid_before.replace(
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]: 
/usr/lib/python3/dist-packages/onionprobe/certificate.py:177: 
CryptographyDeprecationWarning: Properties that return a naïve datetime 
object have been deprecated. Please switch to not_valid_after_utc.
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]:   not_valid_after = 
cert.not_valid_after.replace(tzinfo=timezone.utc).timestamp()
May 12 20:13:50 hetzner-nbg1-01 onionprobe[584091]: 2025-05-12 
20:13:50,198 ERROR: module 'ssl' has no attribute 'match_hostname'


the result is a metric onion_service_valid_certificate exported to 
prometheus with a value of 2 indicating that the certificate is invalid, 
but curl is able to reach the website without erors. really the issue 
seems to be that the code failed to run its verification.

upstream has already addressed the errors above so we could backport the 
patches:

https://gitlab.torproject.org/tpo/onion-services/onionprobe/-/commit/26b18404cdd3bb64d73eba0df6b09b014232d3ae

https://gitlab.torproject.org/tpo/onion-services/onionprobe/-/merge_requests/110/commits


cheers!

-- System Information:
Debian Release: trixie/sid
   APT prefers unstable
   APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.22-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8), LANGUAGE 
not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages onionprobe depends on:
ii  adduser                    3.150
ii  init-system-helpers        1.68
ii  python3                    3.13.3-1
ii  python3-cryptography       43.0.0-2
ii  python3-prometheus-client  0.21.1+ds1-1
ii  python3-requests           2.32.3+dfsg-5
ii  python3-socks              1.7.1+dfsg-1
pn  python3-stem               <none>
ii  python3-yaml               6.0.2-1+b2
ii  tor                        0.4.8.16-1

onionprobe recommends no packages.

Versions of packages onionprobe suggests:
pn  prometheus  <none>



More information about the Pkg-privacy-maintainers mailing list