Izašao je glavni ogranak nginxa 1.27.4 unutar kojeg se razvijaju nove mogućnosti, kao i paralelni stabilni ogranak nginxa 1.26.3 koji sadrži samo promjene koje se odnose na otklanjanje ozbiljnih grešaka i ranjivosti. Ažuriranja popravljaju ranjivost (CVE-2025-23419) koja omogućuje zaobilaženje provjere TLS certifikata klijenta.
Ranjivost je uzrokovana nedostatkom odgovarajuće validacije pri rukovanju virtualnim hostovima vezanim za jednu IP adresu i broj porta, a odabranim tijekom HTTPS pristupa na temelju naziva domene navedenog pomoću SNI TLS ekstenzije. U takvim konfiguracijama napadač bi mogao ponovno upotrijebiti TLS sesiju u kontekstu drugog virtualnog hosta kako bi zaobišao autentifikaciju pomoću TLS certifikata klijenta. Problem se očituje u konfiguracijama koje podržavaju nastavak TLS sesije pomoću "TLS karte sesije" ili koje koriste predmemoriju TLS sesije u postavkama. poslužitelja prema zadanim postavkama, koji koristi autentifikaciju putem klijentskih TLS certifikata. Ranjivost je prisutna od izdanja nginx 1.11.4 kada je izgrađen s OpenSSL-om i omogućen TLSv1.3 protokol.
Promjene koje nisu povezane sa sigurnošću:
- Dodane su mogućnosti za smanjenje potrošnje resursa i opterećenja CPU-a pri korištenju TLS-a u konfiguracijama s velikim brojem blokova poslužitelja i lokacije. Dodane promjene omogućuju, umjesto stvaranja zasebnog SSL konteksta (SSL_CTX u OpenSSL) za svaki konfiguracijski blok, korištenje postojećeg SSL konteksta iz nadređenog bloka.
- Ispravljeni problemi s dugim učitavanjem konfiguracijskih datoteka zbog ponovljenog parsiranja istog skupa TLS certifikati, ključevi i popisi tijela za certificiranje. Ponovna učitavanja konfiguracije ubrzana su ponovnom upotrebom nepromijenjenih TLS objekata, kao što su certifikati, ključevi i CRL-ovi. Dodana je direktiva "ssl_object_cache_inheritable" kako bi se onemogućilo nasljeđivanje objekata tijekom ažuriranja konfiguracije.
- Dodana predmemorija za certifikate i ključeve učitane pomoću varijabli u direktivama (npr. "ssl_certificate /etc/ssl/$ssl_server_name.crt"). Za upravljanje predmemorijom dodane su direktive "ssl_certificate_cache", "proxy_ssl_certificate_cache", "grpc_ssl_certificate_cache" i "uwsgi_ssl_certificate_cache". Navedene direktive omogućuju vam da konfigurirate maksimalnu veličinu predmemorije, razdoblje valjanosti zapisa i vrijeme za čišćenje neiskorištenih zapisa. Na primjer: "ssl_certificate_cache max=1000 inactive=20s valid=1m;".
- Dodana je direktiva "keepalive_min_timeout", koja definira vremensko ograničenje tijekom kojeg nginx neće zatvoriti održavajuću vezu s klijentom.
- Riješen je problem s pojavom poruka dnevnika "gzip filtar nije uspio upotrijebiti unaprijed dodijeljenu memoriju" prilikom izgradnje s bibliotekom zlib-ng.
- Riješen je problem s izgradnjom libatomske biblioteke kada se koristi opcija izrade "--with-libatomic=DIR"
- Ispravljena je greška koja je onemogućavala uspostavljanje veze putem QUIC protokola pri korištenju 0-RTT.
- Osigurao da se zahtjevi klijenata za pregovore o QUIC verziji zanemaruju.
- Riješeni problemi s nadogradnjom na Solarisu 10 s modulom ngx_http_v3_module.
- Ispravljene su pogreške u implementaciji HTTP/3.
Izvor: opennet.ru
