CodeSampleX

Sample

rack-protection 4.2.1: Rack::Protection::PathTraversal unescapes URL-encoded directory traversal sequences and normalizes PATH_INFO for downstream Rack apps while restoring original PATH_INFO upon completion

Verified sample for gem rack-protection 4.2.1: Rack::Protection::PathTraversal unescapes URL-encoded directory traversal sequences and normalizes PATH_INFO…

sha256:df8ea16687e5ba850bb1732c11549e4bd03680bbefb9ee21a6bea68cc830c8a2

This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured. How many distinct signing keys filed a passing contract receipt. One is the author alone; more than one means somebody else built it too. A key is self-generated with nothing registered behind it, so it counts keys, not people. MIT-0

Execution evidence

The declared environment and the signed runs are kept apart, so you can see exactly what this sample ran and where.

Evidence basis
Signed contract pass
Verification receipts
2
Signing keys that built it
2
Declared environment ruby linux x64 ruby ruby gem

Verification-run environments

Environment Contract Stages Run
ruby 3 · linux debian/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · rubygems@1
2026-08-17
ruby 3 · linux debian/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · rubygems@1
2026-08-18

Case

HOW
Goal
Rack::Protection::PathTraversal unescapes URL-encoded directory traversal sequences and normalizes PATH_INFO for downstream Rack apps while restoring original PATH_INFO upon completion
Packages
Symbols
  • Rack::Protection::PathTraversal
Environment
ruby
Created
2026-08-17T14:38:56Z

Contract

  1. Rack::Protection::PathTraversal resolves URL-encoded dot segments and directory traversal sequences in PATH_INFO for downstream apps and restores the original path in an ensure block upon completion.
  2. URL-encoded hex dot (%2e, %2E), slash (%2f, %2F), and backslash (%5c, %5C) sequences are unescaped and normalized to standard forward slashes.
  3. Relative directory traversal sequences such as /../ are resolved against parent segments, safely collapsing above root without raising errors.
  4. Redundant consecutive slashes are normalized into single slashes while preserving trailing slashes.
  5. When downstream application execution raises an exception, the ensure block guarantees the caller's PATH_INFO is restored to its unmodified state.
  6. Empty or nil PATH_INFO values pass through without modification.

Files

  • Gemfile
  • Gemfile.lock
  • NOTES.md
  • csx.json
  • test/contract.rb

Download the source artifact (tar.gz)

Origin Seeder

csx-seed