incompatible update of caddy in EPEL 9

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Per policy [0], this is an announcement that I would like to do an
incompatible update of the caddy package in EPEL 9.

The version in the EPEL 9 repo is currently 2.4.6.  RHEL 8 currently
has golang 1.19.  Based on my recent investigation of the EPEL 7
package [1], I've discovered just how sensitive caddy is to the
version of golang it is built with.  Upstream caddy only ever tested
version 2.4.6 with golang 1.16 and 1.17 [2].  I did previously build
caddy 2.4.6 with golang 1.18, which required swapping out the bundled
quic library to work [3].  Thankfully that worked without patching the
caddy code, but updating the bundled quic further in order to build
with golang 1.19 would require significant patching, which isn't even
guaranteed to work.  I do not believe that rebuilding caddy at the
current version in EPEL 9 is feasible, which prevents even attempting
to backport outstanding CVEs.  I'm currently tracking two CVEs for the
EPEL 9 package that I would like to fix.

- CVE-2022-28923 [4][5][6]
- CVE-2022-41721 [7][8][9]

To resolve these CVEs, and to get compatible with RHEL 9's golang
1.19, I think the best version of caddy to update to is 2.6.4.
Updating caddy from 2.4.6 to 2.6.4 includes some
backwards-incompatible changes (hence this email).  After review, I
believe these changes are on the milder side, and most users shouldn't
notice a difference.  Here are the most notable removals/changes:

- Reverse proxy: Incoming X-Forwarded-* headers will no longer be
automatically trusted, to prevent spoofing.
- Logging: Removed the deprecated common_log field from HTTP access
logs, and the single_field encoder.
- Logging: The remote_addr field has been replaced by remote_ip and
remote_port fields in HTTP access logs, which split up the two parts
of the remote address.
- Caddyfile: The reverse_proxy directive's handle_response
subdirective has had its status replacement functionality moved to a
new replace_status subdirective.

There are also a few additional changes to features labeled as
experimental, and some deprecations (not yet removed).  For a full
list, see the upstream release notes [10][11].

Finally, I'll note that RHEL 8 has the same version of golang as RHEL
9, so I also targeted caddy 2.6.4 for the initial EPEL 8 package that
is on its way to testing [12].  It will be nice to have the same
version of caddy in both EPEL 8 and EPEL 9.

[0] https://docs.fedoraproject.org/en-US/epel/epel-policy-incompatible-upgrades/
[1] https://lists.fedoraproject.org/archives/list/epel-devel@xxxxxxxxxxxxxxxxxxxxxxx/thread/JZRLEWOCX5QX3XZ7INLUZIB7LPAMDUZC/
[2] https://github.com/caddyserver/caddy/blob/v2.4.6/.github/workflows/ci.yml#L22
[3] https://src.fedoraproject.org/rpms/caddy/c/8a639d7060ef6ff610880429d161b5f0275deee1?branch=epel9
[4] https://bugzilla.redhat.com/show_bug.cgi?id=2226939
[5] https://access.redhat.com/security/cve/CVE-2022-28923
[6] https://nvd.nist.gov/vuln/detail/CVE-2022-28923
[7] https://bugzilla.redhat.com/show_bug.cgi?id=2232267
[8] https://access.redhat.com/security/cve/CVE-2022-41721
[9] https://nvd.nist.gov/vuln/detail/CVE-2022-41721
[10] https://github.com/caddyserver/caddy/releases/tag/v2.5.0
[11] https://github.com/caddyserver/caddy/releases/tag/v2.6.0
[12] https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2023-0b57e19163

-- 
Carl George
_______________________________________________
epel-devel mailing list -- epel-devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to epel-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/epel-devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Announce]     [Fedora News]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Announce]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora QA]     [Fedora Triage]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Linux Apps]     [Gnome Users]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Maemo Users]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Fedora ARM]

  Powered by Linux