Проектът OpenSSL пусна версия 4.1.0, добавяйки поддръжка за DTLS 1.3 и описвайки четири известни програмни грешки в кода на DTLS, включен в изданието. DTLS е вариантът на TLS, предназначен за дейтаграмни преноси като UDP, а версия 1.3 е дефинирана в RFC 9147.

Тези грешки засягат разработчиците, които внедряват DTLS 1.3 или наскоро добавената поддръжка за DTLS в API за SSL слушател на OpenSSL. Две от тях могат да накарат дадено приложение да разчете погрешно състоянието на връзката. Постоянна грешка при получаване на DTLS слушател може да се прояви като SSL_ERROR_WANT_READ — кодът, който указва на програмата да изчака още данни — като проверката (polling) и последващите извиквания на accept също могат да пропуснат грешката, оставяйки приложението да чака при неработеща връзка. Грешка при запис с възможност за повторен опит при неблокираща приета връзка може да се покаже като SSL_ERROR_SYSCALL, а приложение, което третира този код като фатален, може да затвори връзка, която все още функционира.
Ръкостискания и сесийни билети могат да се изгубят
DTLS 1.3 сървър може да прекъсне ръкостискане с предупреждение unexpected_message, когато клиентът потвърди част или цялата първа пратка (first flight) на сървъра преди да отговори. Това може да се случи след загуба на пакети.
Четвъртата грешка засяга KeyUpdate — съобщението, което единият възел изпраща, за да премине към нови криптографски ключове по средата на сесията. Когато OpenSSL получи такова съобщение, той премахва всички останали чакащи записи след ръкостискането от буфера си за повторно предаване. Ако NewSessionTicket, който позволява на клиента да възобнови сесията по-късно, е бил изгубен при първоначалното му изпращане, OpenSSL няма да го изпрати отново. Проектът разработва поправка за този проблем, но не посочва статус на отстраняване за останалите три, така че ако поддържате DTLS 1.3 сървър, трябва да вземете предвид и четирите.
Флагове за компилиране, които не изпълняваха предназначението си
OpenSSL също така премахна опциите no-ecdsa и no-ecdh от Configure, тъй като те всъщност не деактивираха посочените имплементации. Компилация, конфигурирана с някой от тези флагове, все още съдържаше кода, който трябваше да бъде изключен. Проектът насочва потребителите към no-ec, който напълно деактивира поддръжката на елиптични криви.
Две други промени могат да нарушат съществуващи конфигурации. OpenSSL премахна целите за компилация Windows-on-Itanium и Windows CE, а помощната програма за времеви печати tsget вече изисква Perl модула Net::Curl::Easy, заменяйки изоставения WWW::Curl::Easy. Всеки, който разчита на tsget, трябва да инсталира новия модул преди обновяване.
По-бързи постквантови изчисления
ML-KEM и ML-DSA, постквантовите алгоритми за обмен на ключове и цифрови подписи, получават оптимизирани NTT операции за ppc64le, а за ML-DSA са направени допълнителни подобрения за x86_64, включително AVX-512 SHAKE x4 код. AES-CBC декриптирането за x86_64 се сдобива с AVX-512 и VAES оптимизации. Изданието включва и поддръжка за RFC 8701 GREASE, който изпраща произволни резервирани стойности при ръкостисканията, за да идентифицира сървъри, обработващи неправилно непознати стойности, заедно с функция за деривация на ключове за IKEv2 и първоначална поддръжка за архитектурата Elbrus2000.
Ръководството за DTLS 1.3 е включено като man страница ossl-guide-dtlsv13(7). Кодът, който приема връзки от DTLS слушател, не трябва да приема SSL_ERROR_WANT_READ или SSL_ERROR_SYSCALL за чиста монета, докато OpenSSL не отстрани тези две грешки.