HAProxy known bugs for version v3.3.10 (maintenance branch 3.3) :  202 

This version (3.3.10) is a release belonging to maintenance branch 3.3 whose latest version is 3.3.13. 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.

Quick links

Other versions in the same branch

This branch contains the following releases :

DateVersionComment
2026-07-293.3.13 ⇐ last
2026-07-033.3.12 
2026-06-263.3.11 
2026-05-113.3.10 ⇐ yours
2026-05-063.3.9 
2026-04-303.3.8 
2026-04-233.3.7 
2026-03-193.3.6 
2026-03-093.3.5 
2026-02-193.3.4 
2026-02-123.3.3 
2026-01-293.3.2 
2025-12-193.3.1 
2025-11-263.3.0 

Known bugs affecting this version, and already fixed in the maintenance branch

These fixes have already been queued for a more recent 3.3 version. Some of them might have already been released in a more recent version than yours, and other ones might still be pending in the maintenance branch for a future release. The list may be empty if you're already on the latest version and no new fix was backported.

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 this version by category :

TotalCRITICALMAJORMEDIUMMINOR
202 0 2 81 119

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

Merge dateSubject - Severity (minor, medium, major, critical)
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-29BUG/MAJOR: ssl/ocsp: lock the OCSP response around reads in the stapling callback
2026-07-29BUG/MEDIUM: sample: reject the deprecated protobuf group wire types
2026-07-29BUG/MEDIUM: peers: check the available room before encoding dict values
2026-07-29BUG/MEDIUM: ssl: Put CO_ER_SSL_KEYUPDATE at the right place
2026-07-29BUG/MINOR: slz: avoid undefined shifts when building the word byte by byte
2026-07-29BUG/MINOR: slz: fix the adler32 accumulators signedness on 32-bit
2026-07-29BUG/MINOR: slz: do not append a block to an already finished stream
2026-07-29BUG/MEDIUM: slz: bound the bits wasted by the 9-bit literals
2026-07-29BUG/MINOR: slz: use the exact switch cost for the last literals of a block
2026-07-29BUG/MINOR: slz: do not read past the end of the input around the match loop
2026-07-29BUG/MINOR: http-rules: fix release of a failed "set-cookie-fmt" redirect rule
2026-07-29BUG/MINOR: htx: Transfer HTX_FL_EOM flag on success in htx_append_msg()
2026-07-29BUG/MINOR: htx: Perform raw copy for messages of same size in htx_copy_msg()
2026-07-29BUG/MINOR: http-htx: check the strdup() of the "lf-string" http reply argument
2026-07-29BUG/MINOR: http-act: reject a negative capture id in the capture actions
2026-07-29BUG/MINOR: http-act: restore the response buffer state in the early-hint action
2026-07-29BUG/MINOR: http-act: fix a double free of the map reference on a parsing error
2026-07-29BUG/MINOR: http-act: fix a double free of the regex on a rule parsing error
2026-07-29BUG/MINOR: http-ana: fix a one-byte over-read in the client-side cookie parser
2026-07-29BUG/MINOR: h3: don't use a block pointer to roll back a partial HTX conversion
2026-07-29BUG/MINOR: h2: don't use a block pointer to roll back a partial HTX conversion
2026-07-29BUG/MINOR: h1: report the right error position on authority/host mismatch
2026-07-29BUG/MINOR: http-htx: check the trash allocation in http_scheme_based_normalize()
2026-07-29BUG/MINOR: http: fix an out-of-bounds read in http_get_host_port() on empty host
2026-07-29BUG/MEDIUM: http-fetch: reject a negative capture id in capture.{req,res}.hdr
2026-07-29BUG/MEDIUM: http-fetch: don't parse a non-HTTP check buffer as an HTX message
2026-07-29BUG/MINOR: http-htx: fix the length moved when removing a header value
2026-07-29BUG/MEDIUM: mux-h1: Always adjust case for all outgoing headers as expected
2026-07-29DEBUG: fd: catch access attempts to closed FDs
2026-07-29BUG/MEDIUM: ssl: Handle non-application data record while splicing
2026-07-29BUG/MEDIUM: ssl: Spell HAVE_VANILLA_OPENSSL correctly
2026-07-29BUG/MINOR: resolvers: do not index resolvers names in the proxies
2026-07-29BUG/MEDIUM: server: Properly check for streams before deletion
2026-07-23BUG/MINOR: quic: ignore STREAM after MUX closure on BE side
2026-07-23BUG/MEDIUM: mux_quic: complete stream shutdown for read channel
2026-07-22BUG/MEDIUM: proxy: protect "show servers ..." against server deletion
2026-07-22BUG/MINOR: sample: Fix bytes() when length it greater than remaining data
2026-07-22BUG/MEDIUM: sample: Adjust sample size capacity after pointer shift for ltrim()
2026-07-22BUG/MEDIUM: sample: Adjust sample size capacity after pointer shift for bytes()
2026-07-22BUG/MINOR: mux-h1: Don't delay send if message with c-l was fully sent
2026-07-22BUG/MINOR: ssl: fix proxy lookup for show ssl sni
2026-07-22BUG/MEDIUM: protobuf: fix nested path bypass in field lookup
2026-07-22BUG/MEDIUM: protobuf: adjust sample size capacity after pointer shift
2026-07-22BUG/MEDIUM: ssl-gencert: Don't forget to free memory when done
2026-07-22BUG/MEDIUM: stats: Ensure that Origin is valid on POSTs
2026-07-22BUG/MEDIUM: cache: reattach the row when a secondary entry is incomplete
2026-07-22BUG/MINOR: shctx: fix shctx_row_data_get() when offset exceeds a block
2026-07-22BUG/MEDIUM: stats: subject "stats admin" accesses to "stats scope" filtering
2026-07-22BUG/MEDIUM: applet: Reenable reads in applet context if requesting a connection
2026-07-22BUG/MINOR: hlua: Apply socket timeout on server side only
2026-07-22BUG/MINOR: http-conv: Make url-dec failed if no space for trailing null byte
2026-07-22BUG/MINOR: stream: Fix custom max-retries initialization when setting backend
2026-07-22BUG/MINOR: stream: Fix custom timeouts initialization when setting backend
2026-07-22BUG/MINOR: sample: Fix a possible underflow on be2hex for large chunk size
2026-07-22BUG/MEDIUM: fd: Fix a deadlock when closing other tgroups fds
2026-07-22BUG/MEDIUM: mux_quic: do not free QCS if STOP_SENDING to sent
2026-07-22BUG/MINOR: mux_quic: prevent multiple STOP_SENDING emission per stream
2026-07-22BUG/MEDIUM: h3: fix parser desync on error with multiple frames
2026-07-02BUG/MINOR: http-htx: Don't by-pass HTX API when merging cookie values
2026-07-02BUG/MAJOR: htx: Don't swap buffers for empty HTX message with an error
2026-07-02BUG/MINOR: tools: fix invalid character detection in strl2ic()
2026-07-02BUG/MEDIUM: servers: Use a refcount for port_range and free it properly
2026-07-02BUG/MINOR: sample: set SMP_F_CONST on srv_name fetch
2026-07-02BUG/MEDIUM: server: initialise agent.health in srv_settings_init()
2026-07-02BUG/MINOR: hq-interop: support transcoding of absolute URI
2026-07-02BUG/MINOR: hq-interop: fix transcoding of wrapping response buffer
2026-07-02BUG/MEDIUM: mux_quic: fix memory leak of rx app_buf on stream free
2026-06-25BUG/MINOR: mux_quic: fix BE conn removal on app shutdown
2026-06-25BUG/MEDIUM: mux-quic: Drain the given amount of data in qcs_http_reset_buf()
2026-06-25BUG/MEDIUM: mux-spop: Truly drain outgoing data when the stream is closed
2026-06-25BUG/MEDIUM: mux-h2: Truly drain outgoing HTX data when the stream is closed
2026-06-25BUG/MEDIUM: mux-fcgi: Truly drain outgoing HTX data when the stream is closed
2026-06-25BUG/MEDIUM: h3: increment unknown request payload length
2026-06-25BUG/MINOR: hq-interop: support response buffer wrapping
2026-06-25BUG/MINOR: hq-interop: support full demux buf on large response
2026-06-25BUG/MEDIUM: hlua: Properly report EOS when http applet exits
2026-06-25BUG/MINOR: hq-interop: prevent reset if missing content-length
2026-06-25BUG/MINOR: hq-interop: reject too big content
2026-06-18BUG/MINOR: server: adjust initialization order for dynamic servers
2026-06-18BUG/MEDIUM: mux-fcgi: fix uint16_t overflow in drl += drp
2026-06-18BUG/MEDIUM: mux_quic: fix freeze transfer after QCS rxbuf realign
2026-06-18BUG/MINOR: hpack-tbl: add missing NULL check after hpack_dht_defrag()
2026-06-18BUG/MEDIUM: ssl: Don't free the early data buffer too early
2026-06-18BUG/MINOR: quic: fix rxbuf settings on backend side
2026-06-18BUG/MINOR: mux-h1: Properly resolve file path for 'h1-case-adjust-file'
2026-06-18BUG/MEDIUM: http-ana: Don't ignore L7 retry errors
2026-06-18BUG/MINOR: http-ana: Remove a debugging memset on redirect
2026-06-18BUG/MINOR: server: fix add server with consistent hash balancing
2026-06-18BUG/MEDIUM: h3: Properly handle PUSH_PROMISE on backend connections
2026-06-18BUG/MINOR: cpu-topo: use ha_diag_notice() to report thread creations
2026-06-18BUG/MEDIUM: ktls: defer enabling TLS ULP on a socket until connected
2026-06-18BUG/MINOR: quic: fix Initial length value in sent packets
2026-06-18BUG/MEDIUM: checks: Dequeue checks on purge
2026-06-18BUG/MINOR: acl: report "ACL" not "map" in ACL ID lookup failures
2026-06-18BUG/MEDIUM: regex: initialize the match array earlier during boot
2026-06-18BUG/MINOR: mux_quic: do not interrupt recv on error/incomplete data
2026-06-18BUG/MEDIUM: mux_quic: prevent risk of infinite loop on recv
2026-06-18BUG/MEDIUM: check: Skip tcpcheck post-config for external checks
2026-06-03BUG/MEDIUM: vars: Properly eval set-var-fmt action for emtpy log-format string
2026-06-03BUG/MINOR: http-act: Properly handle final evaluation in pause action
2026-06-03BUG/MINOR: tasks: Increase the right niced_task counter
2026-06-03BUG/MEDIUM: leastconn: Unlock the write lock on allocation failure
2026-06-03BUG/MINOR: mux-spop: Fix possible off-by-one OOB read in spop_get_varint()
2026-06-03BUG/MINOR: applet: Commit changes into input buffer after sending HTX data
2026-06-03BUG/MEDIUM: ssl: Make sure the alpn length is small enough
2026-06-01BUG/MEDIUM: mux-h1: Dup connection/upgrade value to parse it when making headers
2026-06-01BUG/MINOR: cache: Fix copy of value when parsing maxage
2026-06-01BUG/MEDIUM: h3: fix MAX_PUSH_ID handling
2026-06-01BUG/MEDIUM: resolvers: Wait a bit before calling the xprt prepare_srv
2026-06-01BUG/MINOR: cache: fix cache tree iteration
2026-06-01BUG/MINOR: threads: set at least grp_max when mtpg is too small
2026-06-01BUG/MINOR: quic: update drs->lost before calling on_ack_recv
2026-06-01BUG/MEDIUM: quic: reset consecutive_losses on exit from recovery period (cubic)
2026-06-01BUG/MEDIUM: quic: reset cwnd in slow_start on persistent congestion (cubic)
2026-06-01BUG/MINOR: quic: fix ack range node pool_free call passing wrong pointer type
2026-06-01BUG/MINOR: mux_quic: open an idle QCS on reset on BE side
2026-06-01BUG/MINOR: mux-h2: Count padding for connection flow control on error path
2026-06-01BUG/MEDIUM: quic: handle ECONNREFUSED on RX side
2026-06-01BUG/MINOR: qpack: fix huff_dec() error handling in qpack_decode_fs()
2026-06-01BUG/MINOR: qpack: fix sign bit mask in qpack_decode_fs_pfx()
2026-06-01BUG/MINOR: qpack: fix potential null-pointer dereference in qpack_dht_insert()
2026-06-01BUG/MINOR: qpack: Fix index calculation in debug functions
2026-05-27Revert "BUG/MEDIUM: dns: fix long loops in additional records parse on name failure"
2026-05-27BUG/MEDIUM: cpu-topo: Enforce thread-hard-limit on policy
2026-05-27BUG/MINOR: ssl-gencert: validate SNI characters to prevent SAN certificate injection
2026-05-27BUG/MINOR: tcpcheck: Check LDAP response to not read more data than available
2026-05-27BUG/MINOR: mux-spop: Use relative offset to compute contig data in demux buf
2026-05-27BUG/MINOR: mux-fcgi: Use relative offset to compute contig data in demux buf
2026-05-27BUG/MEDIUM: h1-htx: Sanitize parsing to properly handle upgrade requests
2026-05-27BUG/MEDIUM: mux-fcgi: reject stream ID 0 for application records
2026-05-27BUG/MINOR: quic: reject packet too short for HP decryption
2026-05-27BUG/MINOR: hlua: prevent Lua from passing CR/LF/NUL in HTTP headers
2026-05-27BUG/MINOR: h3: add missing break on rcv_buf()
2026-05-27BUG/MEDIUM: auth: fix unconfigured password NULL deref
2026-05-27BUG/MINOR: h3: reject server MAX_PUSH_ID frame
2026-05-27BUG/MINOR: h3: adjust error on PUSH_PROMISE frame reception
2026-05-27BUG/MINOR: h3: reject client CANCEL_PUSH frame
2026-05-27BUG/MINOR: h3: reject server push stream
2026-05-27BUG/MEDIUM: h3: reject client push stream
2026-05-27BUG/MINOR: addons/51d: NUL-terminate headers before passing them to Trie API
2026-05-27BUG/MINOR: resolvers: switch to a better PRNG for query IDs
2026-05-27BUG/MINOR: ssl-hello: make use of the null-terminated servername
2026-05-27BUG/MINOR: payload: fix the handshake length bounds check smp_client_hello_parse()
2026-05-27BUG/MINOR: base64: return empty string for empty input in base64dec()
2026-05-27BUG/MINOR: http-ext: always check remaining data when reading rfc7239 nodeport
2026-05-27BUG/MEDIUM: acme: protect against risk of null-deref on connection failure
2026-05-27BUG/MINOR: http-fetch: check against the whole token in get_http_auth()
2026-05-27BUG/MINOR: resolvers: relax size checks in authority record parsing
2026-05-27BUG/MINOR: cache: also recognize directives in the form "token="
2026-05-27BUG/MEDIUM: cache: always verify the primary hash in get_secondary_entry()
2026-05-27BUG/MEDIUM: h1: limit status codes to 3 digits by default
2026-05-27BUG/MEDIUM: h1: drop headers whose names contain invalid chars
2026-05-27BUG/MINOR: sample: limit the be2hex converter's chunk size
2026-05-27BUG/MINOR: init: use more than ha_random64() for the cluster secret
2026-05-27BUG/MINOR: dict: fix refcount race on insert collision
2026-05-27BUG/MINOR: log: look for the end of priority before the end of the buffer
2026-05-27BUG/MINOR: mux-h2: validate HEADERS frame length before reading stream dep
2026-05-27BUG/MINOR: resolvers: fix risk of appending garbage past the domain name
2026-05-27BUG/MINOR: resolvers: fix room for trailing zero in resolv_dn_label_to_str()
2026-05-27BUG/MEDIUM: cache: fix a refcount leak for missed secondary entries
2026-05-27BUG/MEDIUM: tcpcheck/spoe: bound the SPOP error code to valid values
2026-05-27BUG/MEDIUM: regex: allocate a large enough pcre2 match for all matches
2026-05-27BUG/MEDIUM: log-forward: make sure the month is unsigned
2026-05-27BUG/MEDIUM: hlua: Fix integer underflow when receiving line from lua cosocket
2026-05-27BUG/MINOR: tcpchecks: Limit parsing of agent-check reply to the buffer
2026-05-27BUG/MEDIUM: dict: hold lock while decrementing refcount in dict_entry_unref
2026-05-27BUG/MINOR: quic: fix ODCID lookup from derived value
2026-05-27BUG/MEDIUM: ssl-gencert: Unlock LRU cache if failing to generate certificate
2026-05-27BUG/MEDIUM: resolvers: Fix test on dn label size in resolv_dn_label_to_str()
2026-05-27BUG/MEDIUM: applet: Properly handle receives of size 0
2026-05-27BUG/MINOR: ocsp: Manage date too far away in the future
2026-05-21BUG/MINOR: mux_quic: do not exceed stream.max-concurrent on backend side
2026-05-21BUG/MEDIUM: servers: Don't forget to set srv_hash when needed
2026-05-21BUG/MEDIUM: servers: Store the connection hash with the parameter cache
2026-05-21BUG/MINOR: server: Properly handle init-state value during haproxy startup
2026-05-21BUG/MINOR: backend: fix balance hash calculation when using hash-type none
2026-05-21BUG/MINOR: server: accept server IDs above 2^31 and clarify error message
2026-05-21BUG/MINOR: httpclient-cli: fix uninit variable in error label
2026-05-21BUG/MINOR: h1: Don't mask websocket protocol if multiple protocols used
2026-05-21BUG/MEDIUM: h1: Skip all h2c values from Upgrade headers during parsing
2026-05-21BUG/MINOR: httpclient-cli: Destroy http-client context if failing to start it
2026-05-21BUG/MINOR: jws: Add missing return value check (EVP_PKEY_get_bn_param)
2026-05-21BUG/MINOR: jws: fix OpenSSL 3.0 version check from > to >=
2026-05-21BUG/MEDIUM: limits: properly account for global.maxpipes in compute_ideal_maxconn()
2026-05-21BUG/MINOR: jwt: fix possible memory leak in convert_ecdsa_sig() error path
2026-05-21BUG/MINOR: check: properly report errno in chk_report_conn_err()
2026-05-21BUG/MINOR: session/trace: use distinct flags for SESS_EV_END and _ERR
2026-05-21BUG/MINOR: resolvers: fix leaked dgram and dns_ring struct in parse_resolve_conf()
2026-05-21BUG/MINOR: resolvers: report the expression error in the do-resolve() action parser
2026-05-21BUG/MINOR: dns: fix dangling dgram pointer on dns_dgram_init() failure path
2026-05-21BUG/MINOR: resolvers: fix dangling list pointer in resolvers_new() error paths
2026-05-21BUG/MEDIUM: server/cli: unlock server lock on failure in cli_parse_set_server
2026-05-21BUG/MINOR: servers: use proper source of pool_conn_name in srv_settings_cpy()
2026-05-21BUG/MEDIUM: dns: fix memory leak of sockaddr in dns_session_init() error path
2026-05-21BUG/MEDIUM: resolvers: fix name compression pointer validation in resolv_read_name()
2026-05-21BUG/MEDIUM: dns: fix long loops in additional records parse on name failure
2026-05-21BUG/MINOR: config/dns: properly fail on duplicate nameserver name detection
2026-05-21BUG/MINOR: backend: correct parameter value validation in get_server_ph_post()
2026-05-21BUG/MEDIUM: applet: Fix transfer of HTX data to the applet
2026-05-13BUG/MEDIUM: http-client: Only consume input buffer when hc one is empty
2026-05-13BUG/MEDIUM: dict: hold read lock while incrementing refcount in dict_insert

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