Make WordPress Core

Opened 13 months ago

Last modified 3 weeks ago

#63949 new defect (bug)

wp-cron.php should use SNI

Reported by: dmole Owned by:
Priority: normal Milestone: Awaiting Review
Component: General Version: 6.8.2
Severity: major Keywords: has-patch
Cc: Focuses:

Description

> grep "SNI was provided" /var/log/apache2/error.log | tail -n 1
[Tue Sep 09 12:42:40.051340 2025] [ssl:error] [pid 605:tid 687] [client REDACTED_LOCAL_IP:44088] AH02032: Hostname REDACTED_DOMAIN_1 (default host as no SNI was provided) and hostname REDACTED_DOMAIN_2 provided via HTTP have no compatible SSL setup

> grep "09/Sep/2025:12:42:40" /var/log/apache2/other_vhosts_access.log
REDACTED_DOMAIN_2:443 REDACTED_LOCAL_IP - - [09/Sep/2025:12:42:40 -0400] "POST /wordpress/wp-cron.php?doing_wp_cron=1757436160.0413179397583007812500 HTTP/1.1" 421 3908 "-" "WordPress/6.8.2; https://REDACTED_DOMAIN_2"

Change History (3)

#1 @dmole
13 months ago

  • Summary cron should use SNI → wp-cron.php should use SNI

Maybe use CURLOPT_RESOLVE or CURLOPT_CONNECT_TO before CURLOPT_URL in Requests/src/Transport/Curl.php

Last edited 13 months ago by dmole (previous) (diff)

#2 @mschluepmann
12 months ago

  • Severity normal → major

I think the severity is at least major. We have a this problem here with about 130 WordPress-Installations at the moment.

This ticket was mentioned in ​PR #13753 on ​WordPress/wordpress-develop by ​@arkaprabhachowdhury.


3 weeks ago
#3

  • Keywords has-patch added

Keep Server Name Indication enabled for HTTPS requests when certificate verification is disabled. The streams transport currently disables SNI when verifyname is false, but certificate verification and SNI are independent. This affects the HTTP request used by WP-Cron when sslverify is false and can cause virtual hosts to return a 421 response.

The change follows the corresponding Requests transport fix and regression coverage: ​https://github.com/WordPress/Requests/commit/213f7e7

Use of AI Tools

AI assistance: Yes
Tool(s): OpenAI Codex
Model(s): GPT-6
Used for: Ticket investigation, implementation, and validation. The code change and PR content were reviewed before publication.

Note: See TracTickets for help on using tickets.