Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
5441adf
Replace VLA with heap allocation in cachekey appendEncoded
cmcfarlen Apr 29, 2026
faf0b45
Guard against size_t overflow in appendEncoded buffer sizing
cmcfarlen Apr 29, 2026
aa8dea0
Use ts::LocalBuffer instead of std::vector in appendEncoded
cmcfarlen Apr 29, 2026
40eeb5f
Fix SNI/hostname comparison to check full string length
maskit Apr 30, 2026
09f15c3
Close connection if unneccesary H2 SETTINGS frame arrives
maskit Apr 30, 2026
2d72f26
Reject Transfer-Encoding in HTTP/2 and HTTP/3 headers
maskit Apr 30, 2026
490dd09
Reject Transfer-Encoding where chunked is not the final coding
maskit Apr 30, 2026
d639cb8
Fix out-of-bounds write in MIME obs-fold handling
maskit May 1, 2026
81b4fa0
Enforce per-field size limit in HPACK/QPACK string decoding
maskit May 1, 2026
af4958f
regex_remap: Issue 46 - Overflow in url_len Leads to Stack Overflow
zwoop Apr 29, 2026
5d86357
Also address issue #48
zwoop Apr 29, 2026
222d33c
Reject oversized HPACK indexes
bneradt May 1, 2026
eb1a3e9
Enforce 16-bit srv_offset invariant in HostDBInfo::assign
cmcfarlen Apr 29, 2026
dcfcb1a
Document valid range for round_robin_max_count
cmcfarlen Apr 29, 2026
f0185e0
Replace VLAs with ts::LocalBuffer in HostDB SRV handling
cmcfarlen Apr 30, 2026
68370d9
Fix OOB read in H2 get_received_frame_count
cmcfarlen May 1, 2026
26ea550
Add bounds checks to DNS answer parsing before NS_GET macros
cmcfarlen May 1, 2026
c94a570
cripts: Issue 31 - UB array write in remap instance initialization
zwoop May 1, 2026
47bcf56
cripts: Issue 32 - Fix path traversal in File::Path::Rebase
zwoop May 1, 2026
229f0b4
Fix integer overflow in MIME header parsing
moonchen May 1, 2026
3622d3d
Fix inverted condition for nonstandard method matching in ACL filtering
serrislew May 4, 2026
0a9b3a3
Bound status code parsing to prevent integer overflow
serrislew May 4, 2026
7f5d62b
Avoid stack VLA in log filter wiping
bneradt May 5, 2026
ed3db26
Avoid stack VLA in proxy protocol parsing
bneradt May 5, 2026
5e87e83
Validate PROXY v1 port bounds
bneradt May 5, 2026
87f5053
Guard txn_box stack allocations
bneradt May 5, 2026
d6edf35
Limit CONNECT body preclusion to successful responses
cmcfarlen May 6, 2026
a14f75b
libswoc: Validate IPv6 hextet bounds
bneradt May 6, 2026
ffdad86
Reject overflowing XPACK integers
bneradt May 6, 2026
77c507a
Bound outstanding HTTP/2 SETTINGS
bneradt May 6, 2026
523df9a
Fix inverted condition in SNI_IpAllow::TestClientSNIAction
serrislew May 6, 2026
4eccff0
Fix max_settings_per_minute condition
bneradt May 6, 2026
18d6570
Update autest for SNI_IpAllow::TestClientSNIAction #188 changes
serrislew May 6, 2026
93657ab
http2: Add tests for CRLF rejection in H2 header values
zwoop May 6, 2026
c17b724
Fix format issue in http2_crlf_header_validation
bneradt May 6, 2026
807b037
rate_limit: Issue 106 - Fix queue bypass
zwoop May 7, 2026
932b5fa
rate_limit: Issue 108 - Fix ip-rep UB writes
zwoop May 8, 2026
e39e178
compress: stop gzip transform after deflate() error
bryancall May 11, 2026
752fea8
Fix leaks of POST failures
masaori335 May 12, 2026
fb45f2f
Add nullptr check before calling SSL_shutdown
masaori335 May 12, 2026
e6f8b84
Fix length check of MethodMod:check
masaori335 May 12, 2026
c181b39
iocore: tighten IOBuffer and AIO bounds checks
brbzull0 May 12, 2026
9a65757
stream_editor: allocate rules in contdata_t ctor
brbzull0 May 12, 2026
2838fec
tscpp: hold intercept try-lock guard via shared mutex
brbzull0 May 12, 2026
39bb899
URL: reject parsed ports outside uint16 range
brbzull0 May 12, 2026
a75f04a
access_control: cap stack buffer for cookie base64 decode
brbzull0 May 12, 2026
10e7d11
rate_limit: Fix active counter underflow
zwoop May 12, 2026
2329726
Constrain prefetch relative paths
bneradt May 12, 2026
b542a27
Server Session: Make sure read_buffer is empty before pooling a serve…
masaori335 May 12, 2026
21b786a
Keep OCSP map on init failure
bneradt May 14, 2026
664666e
Return evacuation bucket by reference not by value
cmcfarlen May 14, 2026
94f2069
Handle addressless PROXY headers in TLS
bneradt May 14, 2026
b706c00
Guard outbound server_name SNI policy
bneradt May 14, 2026
329d354
Verify H2 origin certs on session reuse
bneradt May 14, 2026
bd6a403
TLSSNISupport: own outbound_sni_policy bytes across config reload
serrislew May 14, 2026
7e85ad3
Avoid signed tolower for name bytes
bneradt May 15, 2026
61a0225
Reject oversized multiplexer chunks
bneradt May 15, 2026
8605e65
Keep loop detection on outbound-transparent ports
cmcfarlen May 15, 2026
9d99f4f
Set default value of proxy.config.http2.default_buffer_water_mark to …
masaori335 May 15, 2026
e6e7135
Avoid UB when URL part is absent in URLImpl getters
cmcfarlen May 18, 2026
b73cf9d
HTTPHdr: fix use-after-free in destroy() leaving dangling m_http
serrislew May 19, 2026
c80606f
ESI: cap HTTP request length to prevent size_t overflow
shukitchan May 19, 2026
b485b59
Invoke Continuation operator bool, not pointer-to-bool
cmcfarlen May 19, 2026
252466f
Prevent unbounded recursion in host-down Range fallback
cmcfarlen May 19, 2026
9bf1fa5
Add uds-perm/uds-user/uds-group port options
maskit May 19, 2026
6cf8175
Fix ChunkHandler Flow Control
masaori335 May 19, 2026
de96468
Fix FetchSM header block copying
bneradt May 26, 2026
7785b7a
Gate H2 reads during async hooks
bneradt May 26, 2026
4b7b907
background_fetch: fix inverted size operator and broken value wildcard
serrislew May 26, 2026
950c078
Fix an integer overflow in HdrHeap
moonchen May 26, 2026
e66d257
lua: Add checks on server request hdr
shukitchan May 26, 2026
96dc167
Regex: add RE_FULL_MATCH flag, fix SNI partial-match policy bypass
ezelkow1 May 26, 2026
d2c64e7
Combo handler: Reject empty Content-Type when allowlist is configured
shukitchan May 27, 2026
95d9db9
ESI: bound for nested esi html comment
shukitchan May 28, 2026
75412e0
ja3_fingerprint: tighten encode_word_buffer bounds
masaori335 May 28, 2026
db35e84
Use ParseRules::is_digit on raw network bytes in HTTP parser
cmcfarlen May 28, 2026
c6d02f5
header_rewrite: Copy set-body-from response body with memcpy
cmcfarlen May 28, 2026
948e9fe
Cap stale_response SIE buffering
bneradt May 28, 2026
159ce64
Guard parent mark-down on UNAVAILABLE_SERVER retry
cmcfarlen May 29, 2026
a6dbdb9
xdebug: Cap X-Remap header length to actual buffer content
cmcfarlen May 29, 2026
90e0b06
DNS: fix TCP length-prefix read under edge-triggered epoll
serrislew May 29, 2026
6dcf044
Add admin-guide reference for writing secure regex rules
ezelkow1 May 29, 2026
0d7b210
combo_handler.test.py: Fix empty type test output
bneradt Jun 1, 2026
63d5c95
test_proxy: Fix macOS link duplicates after FetchSM test was added
cmcfarlen Jun 3, 2026
c420e01
Fixes HRW bridge issues, adds autests to Cripts
zwoop Jun 3, 2026
4c72a98
cripts: Fix undersized sockaddr in Geo IP lookup
zwoop Jun 4, 2026
bb2ffba
cripts: fix use-after-free in TSRemapDoRemap
zwoop Jun 4, 2026
a4a8319
cripts: Fix abort on duplicate query keys
zwoop Jun 4, 2026
e076e7d
header_rewrite: Fix cookie key over-read
zwoop Jun 5, 2026
c248c81
doc: cover uri_signing cdniuc uri-regex in regex best practices
ezelkow1 Jun 5, 2026
c12aa91
Preserve dynamic-port flag across tunnel_route mapping ops
maskit Jun 5, 2026
25c665a
HttpTunnel: Guard get_producer(VIO*) against dead producers
maskit Jun 8, 2026
c6ac6d6
ts_lua: clear rri pointer in http_ctx after remap returns
ezelkow1 Jun 8, 2026
b110f78
ts_lua: use sockaddr_storage for ts_lua_fetch client address
ezelkow1 Jun 8, 2026
43f78d0
header_rewrite: Guard SESSION/STATE access on null handle
zwoop Jun 8, 2026
1256e74
cripts: Fix global Client::URL MLoc leak
zwoop Jun 8, 2026
b70fbca
cripts: Fix Bundle::Headers server-side header removal
zwoop Jun 9, 2026
ae09135
slice: Check for Integer underflow in firstblockbytes
traeak Jun 9, 2026
ad40f28
ParentSelection: increase size of mapWrapped array for compat with st…
traeak Jun 9, 2026
2c28d2c
lua: Invalidate cached main_ctx when slot is outside instance's range
cmcfarlen Jun 9, 2026
52e6b46
DNS: Run HostEnt destructor on free to release SRV vector heap
cmcfarlen Jun 9, 2026
c185e55
HttpSM: Stop tracking the fire-and-forget cache-delete Action
cmcfarlen Jun 9, 2026
c1aebba
lua: Free transform context when client-hook VConn closes
cmcfarlen Jun 9, 2026
00b1a11
NextHopRoundRobin: update ring size for wrapping when switching rings
traeak Jun 9, 2026
41cd074
certifier: Reject unsafe SNI names
bneradt Jun 9, 2026
b7fdf99
Drop H2 origin trailers for H1 clients
bneradt Jun 9, 2026
ed25aae
http2: Reject CONTINUATION accumulation that overflows header_blocks_…
bryancall Jun 9, 2026
62497ae
Honor number_of_redirections for plugin-initiated redirects
bryancall Jun 10, 2026
f26b121
cache_range_requests: use std::string spill buffer for building overr…
traeak Jun 10, 2026
1b98b1f
Reject header fields exceeding the uint16 field-length limit
bryancall Jun 10, 2026
74ccaa2
webp_transform: bound buffered body and ImageMagick decode
bryancall Jun 10, 2026
3c44efd
header_rewrite: Fix IPv6 CIDR masking for non-aligned prefixes
cmcfarlen Jun 10, 2026
89d543a
Implement SSRF validation for ESI include URLs
shukitchan Jun 10, 2026
aac5c3b
SSLNetVConnection: deregister async handshake eventfd on connection t…
bryancall Jun 11, 2026
a69e886
Strip Connection-listed headers per RFC 9110 §7.6.1
alficles Jun 11, 2026
ceacc9b
Test H2 control-character rejection
bneradt Jun 11, 2026
5d215fc
http2: Defer HPACK dynamic-table updates until encoding succeeds
maskit Jun 11, 2026
a1d35f9
authproxy: Don't assert on auth response with no header fields
maskit Jun 11, 2026
9500f6b
mgmt/rpc: create JSONRPC unix socket with intended mode atomically
brbzull0 Jun 11, 2026
230ae9f
cache: Move openReadStartEarliest recursion counter off CacheVC to fi…
bryancall Jun 11, 2026
e27b7ef
Bound host header buffer
serrislew Jun 11, 2026
b9f36ca
uri_signing: replace stack arrays with LocalBuffer
alficles Jun 12, 2026
946e241
http: reject chunked extension quoted-string values containing CR or LF
bryancall Jun 12, 2026
d57b23d
ip_allow: add default CONNECT destination rules
bneradt Jun 12, 2026
be5a335
Guard against missing delimiter in url_sig C= parameter
alficles Jun 12, 2026
51c5b0f
master: Strip external @ headers before plugin hooks
bneradt Jun 12, 2026
85f90eb
Fix: cancel stale TLS accept timeouts so session acceptors don't abort
moonchen Jun 12, 2026
67ded93
regex_map: anchor host matching to the full hostname
bryancall Jun 14, 2026
be70ba8
Invalidate dns_info.addr when claiming resolved without DNS
cmcfarlen Jun 15, 2026
f322409
PendingAction: Don't let CAS failure overwrite the caller's action
cmcfarlen Jun 15, 2026
f684c07
parent_selection: Cap retries to one per window via failedAt CAS
cmcfarlen Jun 15, 2026
37985fb
compress: Wrap isspace so obs-text Content-Type bytes don't trigger UB
cmcfarlen Jun 15, 2026
076024a
Expand URI normalization test coverage for userinfo handling
alficles Jun 15, 2026
2303f89
Guard remap against shutdown table teardown
bneradt Jun 16, 2026
27a42ae
Revert "Guard remap against shutdown table teardown"
bneradt Jun 16, 2026
9127101
Guard remap against shutdown table teardown
bneradt Jun 17, 2026
ae5e6da
http: reject a bare LF chunked trailer terminator under strict parsing
bryancall Jun 17, 2026
25cfec9
Combo handler: Refactor Cache-Control parsing and update gold test
shukitchan Jun 22, 2026
40ef716
Fix null-deref in error_log_connection_failure for a DOWN host
maskit Jul 10, 2026
d5adeb3
Fix tls_engine_abort autest referencing removed async_engine plugin
maskit Jul 13, 2026
91b7e49
Fix header_rewrite_bundle cookie rules matching the wrong path
maskit Jul 13, 2026
3563e4c
http: drain request body on internally generated cache responses
bryancall Jul 17, 2026
3e05a64
Fix chunked passthrough flow-control deadlock (drop_chunked_trailers=0)
masaori335 Jul 20, 2026
2bed754
webp_transform: fix decode_limit test to send a matching signature
maskit Jul 25, 2026
338f3ab
Regex: preserve RE_ENDANCHORED semantics on PCRE2 < 10.30
cmcfarlen Jul 27, 2026
4c0fd80
esi: drop tsutil from esicore link deps to avoid plugin ODR
cmcfarlen Jul 27, 2026
90700df
esi: add <sys/socket.h> for AF_INET/AF_INET6 in IncludeUrlValidator
cmcfarlen Jul 27, 2026
6b04195
esi: guard optarg null before setHostAllowRegex to satisfy clang anal…
cmcfarlen Jul 27, 2026
7a898ed
connect_destination_acl: accept curl exit 7 for a refused CONNECT
maskit Jul 28, 2026
f1cbde3
Fix race in remap table refcount during reload
zwoop May 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 26 additions & 2 deletions configs/ip_allow.yaml.default
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@
# The top level tag 'ip_allow' identifies the rule items. Its value must be a rule item or a
# sequence of rule items.
#
# Rules are applied in the order listed starting from the top.
# That means you generally want to append your rules after the ones listed here.
# Rules are applied in the order listed starting from the top. The first
# matching IP range determines the rule used for that connection, so add
# explicit exceptions before broader deny rules.
#
# Allow anything on localhost, limit destructive and debug methods elsewhere.
ip_allow:
Expand Down Expand Up @@ -50,3 +51,26 @@ ip_allow:
- PUSH
- DELETE
- TRACE
# Deny CONNECT tunnels to unspecified, loopback, private, and link-local
# destination addresses by default. If you intentionally proxy CONNECT to
# one of these ranges, add a more specific outbound allow rule before this
# one.
- apply: out
ip_addrs:
- 0.0.0.0/8
- 127.0.0.0/8
- "::"
- ::1
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
- 169.254.0.0/16
- ::/96
- fc00::/7
- fe80::/10
# IPv4-compatible IPv6 ranges use ::/96. IPv4-mapped IPv6 ranges use
# hexadecimal notation because the range parser does not accept
# embedded dotted-quad tails.
- ::ffff:0:0/96
action: deny
methods: CONNECT
1 change: 1 addition & 0 deletions doc/admin-guide/configuration/index.en.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,4 @@ Proxy Cache Configuration
hierarchical-caching.en
proxy-protocol.en
hrw4u.en
regex-best-practices.en
Loading