Disa disa serverat me nginx mbeten të ndjeshëm ndaj teknikës Nginx Alias Traversal, e cila u propozua në konferencën Blackhat në vitin 2018 dhe lejon aksesin në skedarë dhe katalogë të vendosur jashtë katalogut root të caktuar në direktivën "alias". Problemi shfaqet vetëm në konfigurimet me direktivën "alias" të vendosur brenda bllokut "location", ku parameteri nuk mbyllet me simbolin "/", ndërsa "alias" mbyllet me "/".

Thelbi i problemit është se skedarët për blloqet me direktivën alias jepen përmes bashkimit të rrugës së kërkuar, pas përputhjes me maskën nga direktiva location dhe prenimit të pjesës së specifikuar në këtë maskë. Për shembullin e treguar më sipër me një konfigurim të ndjeshëm, sulmuesi mund të kërkojë skedarin "/img../test.txt" dhe ky kërkesë do të bjerë nën maskën e specifikuar në location "/img", pas së cilës bishti mbetur "../test.txt" do të bashkohet me rrugën nga direktiva alias "/var/images/" dhe në fund do të kërkohet skedari "/var/images/../test.txt". Në këtë mënyrë, sulmuesit mund të aksesojnë çdo skedar në katalogun "/var", jo vetëm skedarët në "/var/images/", për shembull, për të shkarkuar logun e nginx, mund të dërgojnë një kërkesë "/img../log/nginx/access.log".
Në konfigurimet ku vlera e direktivës alias nuk mbyllet me simbolin "/" (p.sh. "alias /var/images;"), sulmuesi nuk mund të kalojë në katalogun prind, por ka mundësinë të kërkojë një katalog tjetër në /var, të cilin emri i fillimit përputhet me atë të specifikuar në konfigurim. Për shembull, duke kërkuar "/img.old/test.txt" mund të aksesoni katalogun "var/images.old/test.txt".
Analiza e repozitoreve në GitHub tregoi se gabimet që çojnë në këtë problem në konfigurimin e nginx ende ndodhin në projekte reale. Për shembull, u zbulua se kishte një problem në pjesën server të menaxherit të fjalëkalimeve Bitwarden dhe mund të përdorej për aksesin në të gjitha skedarët në katalogun /etc/bitwarden (kërkesat /attachments jepeshin nga /etc/bitwarden/attachments/), përfshirë bazën e të dhënave të ruajtur atje me fjalëkalimet "vault.db", certifikatat dhe logët, për të cilat mjaftonte dërgimi i kërkesave "/attachments../vault.db", "/attachments../identity.pfx", "/attachments../logs/api.log" etj.


Metoda gjithashtu funksionoi me Google HPC Toolkit, në të cilin kërkesat /static redirigjoheshin në katalogun "../hpc-toolkit/community/front-end/website/static/". Për të marrë bazën e të dhënave me çelësin e mbyllur dhe kredencialet, sulmuesi mund të dërgojë kërkesat "/static../.secret_key" dhe "/static../db.sqlite3".

Burimi: opennet.ru
