Gwendidau mewn Pagure a Phecynnau a Ganiateir OBS yn Fedora ac Ystorfeydd OpenSUSE i gael eu Cyfaddawdu

Mae ymchwilwyr diogelwch o Fenrisk wedi datgelu gwendidau yn yr offer Pagure ac OBS (Open Build Service) a allai beryglu seilwaith pecynnu dosbarthiadau Fedora a openSUSE. Dangosodd ymchwilwyr y gallu i berfformio ymosodiad gweithredu cod mympwyol ar weinyddion sy'n rhedeg Pagure ac OBS, y gellid eu defnyddio i chwistrellu newidiadau i becynnau yn storfeydd Fedora ac openSUSE.

Mae pedwar gwendid wedi'u darganfod yn y platfform Pagure a ddefnyddir yn Fedora ar gyfer cydweithio ar god a metadata pecynnau. Mae manteisio ar y gwendidau a nodwyd yn gofyn am gyfrif Pagure, y gall unrhyw un ei gael (ar hyn o bryd mae gan Pagure.io 24899 o ddefnyddwyr cofrestredig). Mae tri o'r gwendidau yn caniatáu i ddefnyddwyr ddarllen ffeiliau ar y system, ac mae un yn caniatáu gweithredu cod. gweinyddDarganfuwyd y problemau ar Ionawr 1, 2024, adroddwyd amdanynt trwy bugzilla.redhat.com ar Ebrill 25, 2024, a'u trwsio yn y Dudalen 3 awr yn ddiweddarach.

  • Mae gwendidau CVE-2024-4981 a CVE-2024-47515 yn cael eu hachosi gan drin cysylltiadau symbolaidd yn anghywir yn y swyddogaethau diweddaru ffeiliau a chynhyrchu archifau. Mae'r gwendidau yn caniatáu darllen cynnwys ffeiliau lleol ar y gweinydd, er enghraifft, gallwch ddarganfod cynnwys y ffeil gyda pharamedrau sesiwn gweinyddwr Pagure a chael mynediad gyda'i hawliau. Mae ymelwa ar y bregusrwydd yn y ffwythiant _update_file_in_git() yn dibynnu ar greu ystorfa yn Pagure; ychwanegu ymrwymiad iddo gyda ffeil newydd, sy'n cael ei chreu fel dolen symbolaidd i'r ffeil system a ddymunir; agor y ffeil hon i'w golygu yn y rhyngwyneb gwe.
  • Mae bregusrwydd (CVE-2024-4982) yn y swyddogaeth view_issue_raw_file() yn caniatáu i ymosodwr osgoi'r cyfeiriadur sylfaenol trwy nodi'r nodau "/.." ym mharamedrau'r Rhifyn y gofynnwyd amdano. Mae'r broblem yn caniatáu ichi ddarllen ffeiliau yn y system, cyn belled ag y mae hawliau mynediad y broses y mae'r rhyngwyneb gwe yn rhedeg oddi tani yn caniatáu. Er enghraifft, i weld y ffeil /etc/passwd, gallwch agor y dudalen "http://pagure.local:5000/your-repository/issue/raw/../../../../../../etc/passwd".
  • Mae bregusrwydd (CVE-2024-47516) yn y swyddogaeth PagureRepo.log () yn caniatáu amnewid gorchmynion arferiad a gweithredu cod ar y gweinydd. Achosir y broblem gan y ffaith, wrth edrych ar yr hanes newid ffeil trwy'r rhyngwyneb gwe, bod y gorchymyn "git" yn cael ei alw gyda'r dynodwr cangen wedi'i basio ar y llinell orchymyn (er enghraifft, "/usr/bin/git --pretty=oneline --abbrev-commit — DARLLENWCH.md»). Nid yw'r dynodwr yn cael ei wirio am gywirdeb, felly gallwch chi basio unrhyw opsiwn llinell orchymyn yn lle hynny, er enghraifft "--output=/tmp/foo.bar" i ailgyfeirio allbwn i ffeil. Gall ymosodwr drosysgrifo ffeil ar y system trwy anfon cais fel hyn: http://pagure.local:5000/test/history/README.md?identifier=—output=/tmp/foo.bar

    Mae Pagure yn rhedeg o dan y defnyddiwr git, felly dim ond ffeiliau'r defnyddiwr hwnnw y bydd yn eu trosysgrifo. I drefnu gweithrediad eich cod ar y gweinydd, gallwch ddefnyddio'r gwasanaeth ar gyfer cyrchu'r ystorfa trwy SSH, wrth gyrchu y gweithredir y gorchymyn "bash -c /usr/libexec/pagure/aclchecker.py". Gall ymosodwr ddefnyddio'r bregusrwydd i drosysgrifo'r ffeil "/srv/git/.bashrc" a bydd y ffeil hon yn cael ei gweithredu gan y dehonglydd gorchymyn bash wrth gyrchu'r ystorfa trwy ssh.

    Mae'r ymosodiad yn cynnwys cofrestru yn y system Pagure, creu ystorfa, ychwanegu ffeil README.md i'r gadwrfa gyda nodyn ymrwymo o'r math "|| /bin/bash" ac anfon y cais "http://pagure.local:5000/test/history/README.md?identifier=-output=/srv/git". Yn ystod y camau hyn, bydd llinell fel "34a5c43 || yn cael ei ysgrifennu i'r ffeil "/srv/git/.bashrc". /bin/bash".

Mae bregusrwydd (CVE-2024-22033) wedi'i nodi yn y platfform OBS (Open Build Service) a ddefnyddir yn OpenSUSE a rhai dosbarthiadau eraill ar gyfer adeiladu pecynnau, sy'n caniatáu gweithredu cod arfer ar y gweinydd. Darganfuwyd y bregusrwydd ar 27 Mehefin, 2024, adroddwyd i'r prosiect openSUSE ar Fehefin 29, a'i osod ar Orffennaf 10.

Mae'r bregusrwydd yn bresennol yn y gwasanaeth "obs-service-download_url", nad oedd wedi'i ddilysu'n iawn o'r URL a ddefnyddiwyd wrth redeg y cyfleustodau wget o sgript sy'n lawrlwytho cod ffynhonnell i OBS. Gall ymosodwr nodi yn y gwasanaeth OBS ffurfweddiad o'r pecyn a gynhyrchir, lle yn lle URL ar gyfer lawrlwytho'r cod, bydd opsiwn llinell orchymyn ar gyfer wget yn cael ei nodi, er enghraifft: —output-document=/tmp/test tymhestl

Er mwyn osgoi dychwelyd gwall wrth geisio rhedeg wget heb URL, mae'r enghraifft yn cynnwys yr opsiwn "download-manifest", sy'n eich galluogi i nodi rhestr o URLau mewn ffeil ar wahân. Bydd yr enghraifft uchod yn rhedeg y gorchymyn: /usr/bin/wget -i / srv/obs/service/XXXXX/src/tempfile -4 --output-document=/tmp/test

sy'n caniatáu ysgrifennu i'r ffeil /tmp/profwch y cynnwys a lawrlwythwyd o'r ddolen a nodir yn y ffeil / srv/obs/service/XXXX/src/tempfile o'r cod a uwchlwythwyd gan yr ymosodwr i OBS trwy'r rhyngwyneb build.opensuse.org, sy'n caniatáu cofrestriad am ddim. Yn ogystal â throsysgrifo ffeil ar y gweinydd, gall ymosodwr hefyd anfon unrhyw ffeil ei hun trwy nodi'r opsiwn "--post-file" yn lle "--output-document", er enghraifft, "--post-file=/etc/passwd". Fel hyn, gall ymosodwr ddarllen ac ysgrifennu ffeiliau ar y gweinydd, cyn belled ag y mae'r hawliau mynediad y mae'r gwasanaeth OBS yn rhedeg oddi tanynt yn caniatáu.

Er mwyn troi'r gallu i ysgrifennu at ffeil yn gweithredu cod ar y gweinydd, cynigiodd yr ymchwilwyr ddull dau gam. Mae angen dau gam fel y gall ymosodwr greu ffeil ".wgetrc" gyda gosodiadau wget, ond nid yw hyn yn ddigon i redeg gorchmynion. Ond ar yr un pryd, trwy “.wgetrc” gallwch greu amodau ar gyfer gweithredu unrhyw raglen yn y system, ond heb drosglwyddo dadleuon iddo. I redeg cod mympwyol, cynigir rhedeg y rhaglen "profi", sy'n prosesu'r ffeil ffurfweddu ".proverc", sy'n caniatáu i'r opsiwn "--exec" gael ei nodi i weithredu unrhyw god.

Yn y cam cyntaf, trwy'r triniaethau uchod gyda “download-manifest”, mae ffeil “.proverc” yn cael ei chreu yng nghyfeirlyfr cartref y defnyddiwr “obsservicerun”, sy'n cynnwys gorchmynion a fydd yn cael eu gweithredu pan fydd y broses “profi” yn cael ei lansio. Mae'r ail gam yn creu ffeil .wgetrc gyda'r paramedr "use-askpass=/usr/bin/prove", sy'n achosi i "prove" gael ei alw. Ar ôl i'r ffeiliau hyn ymddangos, mae'n ddigon creu amodau ar gyfer lawrlwytho unrhyw ddata gan ddefnyddio wget a bydd hyn yn arwain at lansio cod yr ymosodwr ar y gweinydd gyda hawliau'r defnyddiwr "obsservicerun". Mae'r hawliau defnyddiwr "obsservicerun" yn ddigonol i adalw allweddi o ystorfeydd a ddefnyddir gan ddefnyddwyr OBS i notarize pecynnau.

Diweddariad: Mae tîm Diogelwch Cynnyrch SUSE yn credu bod bregusrwydd OBS yn cael ei orbwysleisio ac nad yw honiad yr ymchwilwyr y gall y mater beryglu pob pecyn yn y dosbarthiad openSUSE yn wir. Nodir bod gwasanaethau yn y seilwaith build.opensuse.org yn cael eu lansio gan ddefnyddio cynwysyddion ynysig sydd newydd eu creu ac nad ydynt yn cynnwys gwybodaeth hanfodol. Asesir bod y bregusrwydd a nodwyd yn beryglus, ond nid yw'n ddigon i beryglu'r seilwaith adeiladu OpenSUSE a'r pecynnau a gynhyrchir. Yn ogystal, nodir mai dim ond yn y fersiwn OBS a osodwyd yn lleol ar weithfan y datblygwr y gellid cyflawni'r gweithredoedd yn y rhyngwyneb OBS a ddisgrifir yn yr enghraifft ymosodiad.

Ffynhonnell: opennet.ru

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd â diogelwch DDoS, gweinyddwyr VPS VDS 🔥 Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster