drošība · 5 min · 15.08.2026

rsync 3.5.0 aizver 33 drošības caurumus, lielākā daļa sākas ar simbolisku saiti

rsync 3.5.0, kas iznāca 13. augustā, vienā laidienā aizver 33 drošības caurumus. Tas ir lielākais šāda veida kopums rsync vēsturē. Sadalījums pēc bīstamības ir viena kritiska ievainojamība, 13 augstas un 19 vidējas.

Kļūdas nāk no trim avotiem: mērķtiecīga ceļu apstrādes un dēmona protokola audita, atsevišķas dēmona protokola fuzzing kārtas un ārējo pētnieku ziņojumiem. CVE numurus piešķīra VulnCheck. Visu izmaiņu saraksts ir oficiālajā NEWS failā.

Kritiskā kļūda skar tikai proxy protocol konfigurāciju

CVE-2026-53791 attiecas uz rsync dēmoniem, kuriem ieslēgts iestatījums proxy protocol = true. Klients, kas pieslēdzas dēmonam tieši, nevis caur paredzēto uzticamo starpniekserveri, var padot savu PROXY galveni un uzdoties par citu IP adresi. Tā tiek apietas uz resursdatoru sarakstiem balstītās piekļuves atļaujas.

Labojums maina noklusējumu. Ja proxy protocol = true ir uzstādīts bez uzticamo resursdatoru saraksta, dēmons savienojumus tagad noraida. Agrāk tādā konfigurācijā tos pieņēma. Kā atzīmē Linuxiac, tieši šī iestatījuma dēļ kritiskais reitings attiecas uz salīdzinoši nelielu instalāciju daļu. Vairums rsync lietotāju dēmonu aiz starpniekservera nemaz nedarbina.

Aptuveni puse kļūdu sākas ar simbolisku saiti

Aptuveni 15 no 33 CVE apraksta TOCTOU sacīkstes, kas klasificētas kā CWE-59 un CWE-61. Uzbrucējs mērķa kokā iepriekš novieto simbolisku saiti. rsync ceļu pārbauda vienā brīdī, atver citā. Starplaikā saite jau norāda ārpus paredzētās mapes.

Skarta ir --filter un --files-from apstrāde, metadatu uzlikšana un mapju uzskaite. Praktiskais rezultāts ir divējāds. Uzbrucējs var panākt patvaļīgu failu lasīšanu caur simboliski saistītiem ievades failiem, kurus norādījis operators. Otrais virziens ir patvaļīga rakstīšana ar tiesību paaugstināšanu caur simboliski saistītiem izvades ceļiem.

Trešā kļūdu grupa ir atmiņas bojājumi: rakstīšana ārpus robežām kontrolsummu parsēšanā, failu ierakstu apstrādē un argumentu apstrādē, kā arī veselo skaitļu pārpilde saspiešanā un atmiņas uzskaitē. Ceturtā skar pašu dēmona protokolu, kur bija iespējams apiet filtrus un ievadīt datus nosaukumu pārveidotājā.

Ceļu atvēršana tagad paliek zem mapes deskriptora

Galvenā strukturālā izmaiņa ir princips, ko izstrādātāji sauc par “stay below dirfd”. Katrs ceļš tiek atvērts tā, lai nevarētu izkļūt ārpus sākotnējās mapes deskriptora. Uz Linux sākot ar 5.6 versiju to dara openat2(). Uz FreeBSD 13 un macOS 15 tiek lietots karogs O_RESOLVE_BENEATH. Pārējās sistēmās rsync iet cauri ceļam pa vienam komponentam ar O_NOFOLLOW.

Mainās arī simbolisko saišu apstrāde galamērķī. rsync tagad seko simboliski saistītai mērķa mapei tikai tad, ja tā pieder root lietotājam vai pašam rsync palaidējam. Pārējos gadījumos darbība tiek atteikta. Tieši šī izmaiņa visdrīzāk salauzīs esošos rezerves kopiju skriptus, kas raksta uz saitēm norādītām mapēm ar citu īpašnieku.

Divi jauni karogi

Laidiens pievieno --confine-root=DIR, kas ierobežo otras puses padotos ceļus līdz norādītajai mapei. Tiem, kam jaunā uzvedība salauž darbojošos konfigurāciju, ir --insecure-links, kas atgriež veco simbolisko saišu sekošanu.

Ierobežotais apvalks rrsync apakšmapēs tagad uzspiež --no-D. Ligzdoti unix soketi ar --specials uz BSD un macOS tiek izlaisti ar brīdinājumu. Vadības rakstzīmes failu nosaukumos pirms ierakstīšanas žurnālā tiek aizvietotas. Skripts rsync-ssl kopā ar stunnel tagad pārbauda sertifikātu un piesaisti resursdatora nosaukumam.

Ko nozīmē palikšana uz vecāka zara

Daudzu ievainojamību skartais versiju loks ir daudz šaurāks nekā “viss pirms 3.5.0”, teikts laidiena piezīmēs.

Daļa labojumu jau ir nonākusi 3.4.4 laidienā no 8. jūnija un 3.4.3 laidienā no 20. maija. Zars 3.2.x lielāko daļu 3.5.0 ievainojamību nav saņēmis. Distributīvi, kas joprojām piegādā 3.2.x, administratoram jāpārbauda atsevišķi.

Katram labojumam ir pievienots regresijas tests, kas uz nelabotas versijas krīt. Tas dod veidu, kā pārliecināties, vai distributīva ielāpotā pakotne tiešām satur konkrēto labojumu, nevis tikai nes pareizu versijas numuru. Backportēto pakotņu gadījumā versijas numurs par saturu neko nepasaka.

Otrais liels rsync drošības laidiens pusotra gada laikā

Iepriekšējais salīdzināmais gadījums bija 3.4.0, kas iznāca 2025. gada 14. janvārī ar sešiem CVE. Tos atrada Google Cloud ievainojamību pētniecības komanda kopā ar Alekseju Gorbanu. Divi no tiem, CVE-2024-12084 un CVE-2024-12085, uz servera puses veda līdz koda izpildei. Pārējie ļāva ļaunprātīgam serverim lasīt klienta failus, veidot nedrošas simboliskās saites un apiet --safe-links.

Tā paša gada janvāra kopumā jau bija arī simboliskās saites sacīkste CVE-2024-12747. Tagad, pēc mērķtiecīga audita, izrādās, ka tā nebija vienīgā savā klasē. 33 CVE vietā, kur agrāk skaitīja sešus, rāda, cik plaša ir bijusi ceļu apstrādes problēma.

Phoronix laidienu apraksta kā ārkārtas gadījumu rsync vēsturē. Administratoriem, kas rsync dēmonu tur pieejamu tīklā, laidiena piezīmes iesaka vispirms pārbaudīt proxy protocol iestatījumu, tad rezerves kopiju skriptus, kuri raksta uz simboliski saistītām mapēm.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no drošībasaistītie