Bug 2278979

Summary: Declare ports 80/udp and 443/udp as http for use with HTTP/3 and QUIC
Product: [Fedora] Fedora Reporter: Felix Kaechele <felix>
Component: selinux-policyAssignee: Zdenek Pytela <zpytela>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 40CC: dwalsh, knazekovan, lvrabec, mmalik, omosnacek, pkoncity, vmojzis, zpytela
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-09-24 16:21:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Felix Kaechele 2024-05-03 19:53:36 UTC
HTTP/3 uses the QUIC protocol. QUIC is an UDP based protocol commonly used on ports 80 and 443 for HTTP/3.

Nginx 1.26.0 gained experimental support for HTTP/3 but under the current policy isn't allowed to bind to those two ports:

type=AVC msg=audit(1714750445.928:337): avc:  denied  { name_bind } for  pid=9687 comm="nginx" src=443 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:reserved_port_t:s0 tclass=udp_socket permissive=1

Reproducible: Always

Steps to Reproduce:
1. Install nginx 1.26.0 (either on rawhide or from updates-testing)
2. Uncomment TLS server block in default nginx.conf
3. Add "listen 443 quic reuseport;" to the TLS server block
4. Try starting nginx with SELinux set to enforcing mode



Opened a pull request here: https://github.com/fedora-selinux/selinux-policy/pull/2109