eveniota commented on PR #13708:
URL: https://github.com/apache/trafficserver/pull/13708#issuecomment-6186910784

   @cmcfarlen Thanks for the review. In this update: 
   
     1. Path parameters and double-encoding:
        - Updated normalizePath() to inspect the segment substring before the 
first semicolon against "." and "..".
        - Reject percent-escapes that decode to "%" (0x25), blocking 
double-encoded traversal like "%252e%252e".
        - Reject raw control characters (< 0x20 and 0x7F).
        - This successfully closes bypasses such as "..;", ".;", "%2e%2e%3b", 
and "%252e%252e".
     
     2. Unit tests:
        - Added test cases in test_access_control.cc for all four bypass 
vectors:
          - /reports/..;/hr/payroll
          - /reports/.;/x
          - /reports/%2e%2e%3b/hr
          - /reports/%252e%252e/hr
        - All 18 test cases (131 assertions) pass.
     
     3. Documentation:
        - Updated access_control.en.rst to explicitly state which request paths 
are rejected outright (dot segments,
   matrix parameters, backslashes, encoded slashes, %25, and control 
characters).
        - Clarified that --invalid-scope-status-code applies when 
--reject-invalid-token-requests=true is enabled;
   otherwise, the request is forwarded without the extracted subject header.
     
     4. AuTest:
        - Isolated the replay transactions into separate sessions in 
access_control.replay.yaml to prevent the 403
   response on transaction 4 from closing the connection before transaction 5 
runs.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to