Sa e2fsck utility nga gihatag isip bahin sa package , (), nga nagtugot kanimo sa pagpatuman sa code sa tig-atake kung magsusi sa file system nga adunay espesyal nga gidisenyo nga mga direktoryo. Ang kahuyang gipamatud-an sa pagpagawas sa 1.43.3 ngadto sa 1.45.4. Ang pagkahuyang naayo sa pag-update . Sa mga distribution kits ang problema nagpabilin nga wala matul-id (, , , , ).
Ang kahuyang tungod sa usa ka sayup sa mutate_name() function sa rehash.c file, nga gigamit sa pagtukod pag-usab sa hash tables nga may kalabutan sa usa ka direktoryo, pagsiguro nga ang tanan nga mga file sa direktoryo gipares sa direktoryo. Ang korapsyon sa hash_entry nga istruktura nga nalangkit sa usa ka direktoryo mahimong moresulta sa usa ka tig-atake sa pagsulat sa datos ngadto sa usa ka lugar gawas sa gigahin nga buffer. Kung daghang mga file nga adunay parehas nga ngalan ang nahibal-an sa lamesa sa hash nga na-link sa usa ka direktoryo, ang e2fsck utility nag-usab sa ngalan sa mga doble nga file pinaagi sa pagdugang ~ 0, ~ 1, ug uban pa sa ngalan. Aron temporaryo nga tipigan ang bag-ong ngalan atol sa ingon nga pag-usab sa ngalan, usa ka buffer nga 256 ka bytes ang gidak-on ang gigahin sa stack.
Ang gidak-on sa data nga kopyahon gitino pinaagi sa ekspresyong "entry->name_len & 0xff", apan ang bili sa entry->name_len gikarga gikan sa usa ka istruktura sa disk kay sa kalkulado gikan sa aktuwal nga gidak-on sa ngalan. Kung ang gidak-on zero, nan ang array index nagkuha sa bili -1 ug ang mga kondisyon gihimo alang sa integer nga pag-awas pinaagi sa ubos nga utlanan sa buffer (integer underflow) ug pag-overwrit sa ubang mga datos sa stack nga adunay kantidad nga "~ 0". Alang sa 64-bit nga mga sistema, ang pagpahimulos sa pagkahuyang gisusi nga dili mahimo ug wala magkinahanglan mga pagdili sa gidak-on sa stack (ulimit -s walay kutub). Alang sa 32-bit nga mga sistema, ang pagpahimulos giisip nga posible, apan ang resulta nagdepende pag-ayo kung giunsa ang executable giipon sa compiler.
Aron mahimo ang usa ka pag-atake, ang usa ka tig-atake kinahanglan nga magdaot sa datos sa usa ka paagi sa partisyon nga adunay ext2, ext3 o ext4 file system. Tungod kay kini nga operasyon nanginahanglan mga pribilehiyo sa superuser, ang pagkahuyang naghatag usa ka hulga kung ang e2fsck utility nag-scan sa mga external drive o nakadawat sa gawas nga mga imahe sa FS.
Source: opennet.ru
