HAProxy known bugs for maintenance branch 2.4 :  0 

This is maintenance branch 2.4 whose latest version is 2.4.36. If your version is not the last one in the maintenance branch, you are missing fixes for known bugs, and by not updating you are needlessly taking the responsibility for the risk of unexpected service outages and exposing your web site to possible security issues.

The HAProxy development team takes a great care of maintaining stable versions so that all users can apply bug fixes without having to take the risk of upgrading to a new branch. In turn users are expected to apply the fixes when the development team estimates that they were worth being backported to stable branches. In short, if you are running any 2.4 version other than 2.4.36, you're running with known bugs.

Quick links

Versions available in this branch

This branch contains the following releases :

DateVersionComment
2026-07-032.4.36 ⇐ last
2026-05-112.4.35 
2026-05-062.4.34 
2026-04-302.4.33 
2026-04-232.4.32 
2026-03-092.4.31 
2025-10-032.4.30 
2025-04-222.4.29 
2024-11-082.4.28 
2024-06-182.4.27 
2024-04-052.4.26 
2023-12-142.4.25 
2023-08-192.4.24 
2023-06-092.4.23 
2023-02-142.4.22 
2023-01-272.4.21 
2022-12-092.4.20 
2022-09-282.4.19 
2022-07-272.4.18 
2022-05-132.4.17 
2022-04-292.4.16 
2022-03-142.4.15 
2022-02-252.4.14 
2022-02-162.4.13 
2022-01-112.4.12 
2022-01-072.4.11 
2021-12-232.4.10 
2021-11-242.4.9 
2021-11-032.4.8 
2021-10-042.4.7 
2021-10-042.4.6 
2021-10-012.4.5 
2021-09-072.4.4 
2021-08-172.4.3 
2021-07-072.4.2 
2021-06-172.4.1 
2021-05-142.4.0 

Fixes for known bugs pending in this branch since the last release (2.4.36)

These fixes have already been queued for the next 2.4 release but no version was released with them yet. Note that fixes are backported several at a time from the development branch to maintenance branches, and the absence of a fix here doesn't mean none will be issued soon.

Bugs are almost always tagged with a severity (some people forget the severity tag when the bug is minor). The following severities are used :

Total known bugs in the latest version of this branch by category :

TotalCRITICALMAJORMEDIUMMINOR
0 0 0 0 0

Click on the subjects below to get the full description of the bug :

Merge dateSubject - Severity (minor, medium, major, critical)

Known bugs fixed in the development branch after the last commit in this branch

It is important to understand that not all of these commits are necessarily relevant to this version, but clicking on them will show the bug description. All fixes are made first in the development branch and then backported to the maintenance branches. This ensures no fix is lost when upgrading. If a fix was marked for backporting to this branch and is not there yet, it's likely that it is still missing. Do not hesitate to ask on the haproxy mailing list if you feel like a fix has been skipped.

DateSubject
2026-08-12BUG/MINOR: server: fix off-by-one error when parsing and copying source port range
2026-08-12BUG/MINOR: hq_interop: fix potential NULL dereference in _hq_trace_http()
2026-08-12BUG/MINOR: h3: fix potential NULL pointer dereference in _h3_trace_header()
2026-08-12BUG/MINOR: server: fix memory leak on "default-server" parsing failures
2026-08-12BUG/MINOR: quic: avoid a division by zero in the BBR pacing interval
2026-08-12BUG/MINOR: ssl: reject an embedded NUL in the full-DN ssl_*_dn() fetches
2026-08-12BUG/MINOR: ssl: reject an embedded NUL in the ssl_*_dn(entry) fetches
2026-08-12BUG/MINOR: wurfl: fix memory leak of information list and patch strings at deinit
2026-08-12BUG/MEDIUM: cache: do not release an entry under the cache read lock
2026-08-12BUG/MINOR: cache: do not retain imcomplete or stripped secondary entry
2026-08-12BUG/MEDIUM: cache: retain the primary or secondary entry only when detaching its row
2026-08-10BUG/MEDIUM: hlua_fcn: ensure systematic bref cleanup for patref list iterator
2026-08-10BUG/MEDIUM: lua: resume Channel:send() from the unsent part of the string
2026-08-07BUG/MINOR: quic: drop multiple Retry on same connection
2026-08-07BUG/MEDIUM: quic: prevent out-of-bound read on wrapping CRYPTO content
2026-08-07BUG/MINOR: mux-h2: strip the userinfo when deriving :authority for a server
2026-08-07BUG/MINOR: debug: only dump the trace once in __BUG_ON_ONCE()
2026-08-07BUG/MINOR: lb-chash: bound the walk when the saved cursor changed tree
2026-08-07BUG/MEDIUM: session: don't release a reversed connection twice on error
2026-08-07BUG/MINOR: connection: reserve the whole CRC32C TLV before saving its pointer
2026-08-07BUG/MEDIUM: fd: release the port range entry in host byte order
2026-08-07BUG/MINOR: acme: restrict the permissions of the generated account key
2026-08-07BUG/MINOR: ssl: reject server certificate names containing a NUL byte
2026-08-07BUG/MEDIUM: acme: don't delete a NULL token from the map
2026-08-07BUG/MEDIUM: ssl: require a full-length AEAD tag when decrypting with AES-GCM
2026-08-07BUG/MINOR: jwt: don't take an extra reference on the certificate public key
2026-08-07BUG/MEDIUM: jwe: validate the secret length against the algorithm of the token
2026-08-07BUG/MEDIUM: log: always reserve room for trailing 0 when using CBOR encoding helpers
2026-08-07BUG/MINOR: mux-fcgi: sanitize the STDERR records before logging them
2026-08-07BUG/MEDIUM: http-ana: check the cookie rewrite result before moving the offsets
2026-08-07BUG/MEDIUM: sock: bound the recvmsg() length when receiving old sockets
2026-08-07BUG/MEDIUM: stick-tables: use the same bucket for string keys with a NUL
2026-08-07BUG/MEDIUM: http-ana: don't crash on "keep-query" in a response redirect
2026-08-07BUG/MINOR: mux-fcgi: don't call fcgi_strm_destroy() on a NULL stream
2026-08-07BUG/MEDIUM: spoe: clear the applet pointer when the applet fails to start
2026-08-07BUG/MEDIUM: mux-fcgi: check the room left before appending the index
2026-08-06BUG/MINOR: hlua: use a local buffer to format the socket addresses
2026-08-06BUG/MINOR: stats-file: reject tgid 0 when preloading shm objects
2026-08-06BUG/MEDIUM: hpack: encode long methods and schemes using the long form
2026-08-06BUG/MINOR: proxy: release watcher in "show default-server" on CLI abort
2026-08-06BUG/MINOR: proxy: release watcher in various commands on CLI abort
2026-08-05BUG/MINOR: proxy: fix "show backend"
2026-08-03BUG/MINOR: proxy: fix default-server leak on post-parsing cleanup
2026-08-03BUG/MINOR: ech: fix label at end of compound statement
2026-08-03BUG/MINOR: server: check strdup return on server-template ID generation
2026-08-03BUG/MINOR: server: check strdup return value on server ID
2026-07-31BUG/MINOR: haload: fix stale global variables affecting URL allocations
2026-07-30BUG/MEDIUM: filter: Disable auto-close on channel during TCP payload filtering
2026-07-30BUG/MEDIUM: counters: preserve shared.tg pointer on 'clear counters all'
2026-07-30BUG/MINOR: ech: reject an ECH store with no usable private key
2026-07-30BUG/MINOR: ech: propagate error from load_echkeys()
2026-07-30BUG/MINOR: haload: fix rate limit bypass during stream errors
2026-07-29BUG/MINOR: cli: do not reject the "/" form of "show fd"
2026-07-29BUG/MINOR: cli: use the current argument to parse the FD spec in "show fd"
2026-07-29BUG/MINOR: server: fix check reuse-pool in srv_settings_cpy()
2026-07-29BUG/MINOR: server: duplicate server alt_proto in srv_settings_cpy()
2026-07-29BUG/MINOR: server: fix QUIC on server-template
2026-07-28BUG/MAJOR: ssl/ocsp: lock the OCSP response around reads in the stapling callback
2026-07-28BUG/MEDIUM: sample: reject the deprecated protobuf group wire types
2026-07-28BUG/MEDIUM: peers: check the available room before encoding dict values
2026-07-28BUG/MINOR: slz: avoid undefined shifts when building the word byte by byte
2026-07-28BUG/MINOR: slz: fix the adler32 accumulators signedness on 32-bit
2026-07-28BUG/MINOR: slz: do not append a block to an already finished stream
2026-07-28BUG/MEDIUM: slz: bound the bits wasted by the 9-bit literals
2026-07-28BUG/MINOR: slz: use the exact switch cost for the last literals of a block
2026-07-28BUG/MINOR: slz: do not read past the end of the input around the match loop
2026-07-28BUG/MINOR: http-rules: fix release of a failed "set-cookie-fmt" redirect rule
2026-07-28BUG/MINOR: htx: Transfer HTX_FL_EOM flag on success in htx_append_msg()
2026-07-28BUG/MINOR: htx: Perform raw copy for messages of same size in htx_copy_msg()
2026-07-28BUG/MEDIUM: tools: make string encoding possible to fail instead of truncating
2026-07-27BUG/MINOR: http-htx: check the strdup() of the "lf-string" http reply argument
2026-07-27BUG/MINOR: http-act: reject a negative capture id in the capture actions
2026-07-27BUG/MINOR: http-act: work on a copy of the sample in del-headers-bin
2026-07-27BUG/MINOR: http-act: restore the response buffer state in the early-hint action
2026-07-27BUG/MINOR: http-act: fix a double free of the map reference on a parsing error
2026-07-27BUG/MINOR: http-act: fix a double free of the regex on a rule parsing error
2026-07-27BUG/MINOR: http-ana: fix a one-byte over-read in the client-side cookie parser
2026-07-27BUG/MINOR: h3: don't use a block pointer to roll back a partial HTX conversion
2026-07-27BUG/MINOR: h2: don't use a block pointer to roll back a partial HTX conversion
2026-07-27BUG/MINOR: h1: report the right error position on authority/host mismatch
2026-07-27BUG/MINOR: http-htx: check the trash allocation in http_scheme_based_normalize()
2026-07-27BUG/MINOR: http: fix an out-of-bounds read in http_get_host_port() on empty host
2026-07-27BUG/MINOR: http-fetch: fix a NULL channel dereference in smp_fetch_body()
2026-07-27BUG/MEDIUM: http-fetch: reject a negative capture id in capture.{req,res}.hdr
2026-07-27BUG/MEDIUM: http-fetch: don't parse a non-HTTP check buffer as an HTX message
2026-07-27BUG/MINOR: http-htx: fix the length moved when removing a header value
2026-07-24BUG/MINOR: haload: fix CPU topology detection by omitting forced "nbthread"
2026-07-24BUG/MEDIUM: mux-h1: Always adjust case for all outgoing headers as expected
2026-07-24DEBUG: fd: catch access attempts to closed FDs
2026-07-24BUG/MEDIUM: ssl: Put CO_ER_SSL_KEYUPDATE at the right place
2026-07-24BUG/MEDIUM: ssl: Handle non-application data record while splicing
2026-07-23BUG/MEDIUM: ssl: Spell HAVE_VANILLA_OPENSSL correctly
2026-07-23BUG/MINOR: haload: fix display glitches by flushing stdout in summary
2026-07-23BUG/MINOR: haload: set default thread count to 1
2026-07-23BUG/MINOR: haload: fix use-after-free upon updating task expiration
2026-07-23BUG/MEDIUM: proxy: protect "show errors" against backend deletion
2026-07-22BUG/MINOR: resolvers: do not index resolvers names in the proxies
2026-07-22BUG/MEDIUM: server: Properly check for streams before deletion
2026-07-21BUG/MEDIUM: proxy: protect show backend against be deletion
2026-07-21BUG/MEDIUM: proxy: protect "show servers ..." against backend deletion
2026-07-21BUG/MEDIUM: proxy: protect "show servers ..." against server deletion
2026-07-21BUG/MINOR: sample: Fix bytes() when length it greater than remaining data
2026-07-21BUG/MEDIUM: sample: Adjust sample size capacity after pointer shift for ltrim()
2026-07-21BUG/MEDIUM: sample: Adjust sample size capacity after pointer shift for bytes()
2026-07-21BUG/MEDIUM: net-helper: Adjust sample size capacity after pointer shift
2026-07-21BUG/MINOR: mux-h1: Don't delay send if message with c-l was fully sent
2026-07-16CLEANUP: event_hdl: Use BUG_ON_STATIC()
2026-07-16DEBUG: add BUG_ON_STATIC(): a compile-time BUG_ON()
2026-07-16BUG/MINOR: ssl: fix proxy lookup for show ssl sni
2026-07-16BUG/MEDIUM: protobuf: fix nested path bypass in field lookup
2026-07-16BUG/MEDIUM: protobuf: adjust sample size capacity after pointer shift
2026-07-15BUG/MEDIUM: ssl-gencert: Don't forget to free memory when done
2026-07-15BUG/MEDIUM: stats: Ensure that Origin is valid on POSTs
2026-07-10BUG/MEDIUM: cache: reattach the row when a secondary entry is incomplete
2026-07-10BUG/MINOR: shctx: fix shctx_row_data_get() when offset exceeds a block
2026-07-10BUG/MEDIUM: stats: subject "stats admin" accesses to "stats scope" filtering
2026-07-10BUG/MEDIUM: applet: Reenable reads in applet context if requesting a connection
2026-07-10BUG/MINOR: hlua: Apply socket timeout on server side only
2026-07-08BUG/MINOR: http-conv: Make url-dec failed if no space for trailing null byte
2026-07-08BUG/MINOR: stream: Fix custom max-retries initialization when setting backend
2026-07-08BUG/MINOR: stream: Fix custom timeouts initialization when setting backend
2026-07-08BUG/MEDIUM: chunk: Review chunks usage to not retrieve a large buffer by error
2026-07-08BUG/MINOR: sample: Fix a possible underflow on be2hex for large chunk size
2026-07-08BUG/MEDIUM: tcpcheck: Add proxy used for healthcheck sections in proxies list
2026-07-08BUG/MINOR: hbuf: treat unexpected escape sequences as literals
2026-07-08BUG/MINOR: haload: fix spurious task wakeup in hld_strm_task()
2026-07-06BUG/MEDIUM: fd: Fix a deadlock when closing other tgroups fds
2026-07-06BUG/MINOR: quic: ignore STREAM after MUX closure on BE side
2026-07-06BUG/MEDIUM: mux_quic: complete stream shutdown for read channel
2026-07-06BUG/MEDIUM: mux_quic: do not free QCS if STOP_SENDING to sent

Back to the list of branches and versions
Back to the HAProxy page