vulnerability critica in PolKit permittens radicem accessum in maxime distributionibus Linux

Qualys vulnerabilitatem (CVE-2021-4034) notavit in Polkit (olim PolicyKit) systematis componentis usus in distributionibus ut users gratuitos ad actiones praestandas quae accessum iurium elevatum requirunt. In vulnerabilitas usorem localem invivilatum permittit ut privilegia eorum evadant ad radicem et plenam potestatem systematis acquirendi. Problema codenamed PwnKit fuit et notabilis est ad operandum facinus producendum quod in configuratione decurrit in distributionibus maxime Linux.

Problema adest in utilitate pkexec PolKit, quae cum vexillum SUD radicem venit et imperata curreret cum privilegiis alterius usoris secundum regulas determinatas PolKit. Ob falsam tractationem de imperio rectae rationes ad pkexec latae, usor gratuitus authenticas praeterire potuit ac suum codicem tamquam radicem currere, cuiuscumque accessus regulae positi sunt. Impetus, non refert quales occasus et restrictiones in PolKit specificantur, satis est attributum SUD radicis pro tabella exsecutabili cum pkexec utilitate positum.

Pkexec non reprehendo validitatem mandati lineam argumenti comitis (argc) cum processu incipiendo transiit. Tincimenta pkexec ponuntur quod primum ingressum in argv ordinata semper continet nomen processus (pkexec), et secundum vel valorem nullum vel nomen mandati per pkexec deductae. Cum argumentum narrationis contra ipsas contenta ordinatae non cohibita sit et ponatur semper maior quam 1, si processum inanis argv latum est, prout Linux execve munus permittit, pkexec tractaturum NULL as the first argument (? processus name) and the next one as extra quiddam memoria, velut sequentia contenta in ordinata. |——+———+——+————|———————+——+————| | argv[0] | argv[1] | ... | argv[argc] | envp[0] | envp [1] | ... | envp[envc] | |—-|—-+—-|---+——+——|——|—-|—-+——|—-+——+——|——| VVVVVV "programma" "-option" NULL "value" "PATH=name" NULL

Problema est post argv ordinatam esse envp ordinatam in memoria continens variabiles ambitus. Ita, si argv ordinata vacua est, pkexec notitia de praecepto decurrunt cum privilegiis elevatis a primo elemento ordinatae cum variabilibus ambientibus (argv [1] idem cum envp[0]), quorum contenta moderari possunt. ab oppugnante.

Accepta pretii argv[1], pkexec nititur, ratione habita viae tabellae in PATH, plenam semitam ad lima exsecutabile determinare et monstratorem chordae inscribit plenam iter ad argv[1] retractum. valorem scribendi variabilis primae ambitus ducit, cum argv[1] idem sit ac envp[0]. Abrogando nomen primae ambitus variabile, oppugnans alium ambitum variabilem in pkexec substituere potest, e.g., substituere "LD_PRELOAD" variabilis ambitus, quod in suid programmatis non licet, et pro communi bibliotheca in onerari dispone. processum.

Operatio quaestus involvit substitutionem GCONV_PATH variabilis, quae adhibetur ad designandam viam ad bibliothecam transcoding symbolam, dynamice oneratus cum munus g_printerr() vocantem, cuius codicem iconv_open(). Iter in GCONV_PATH redintegrando, oppugnator efficere potest ut non bibliothecam iconv vexillum oneratum sit, sed suam bibliothecam, unde tractores efficietur cum error nuntius in scaena monstratur cum pkexec adhuc currit. iura radix et antequam licentias launches reprimantur.

Animadvertendum est non obstante quod problema corruptionis memoriae causatur, certo et iterato quaestui cuiuscumque ferrariae architecturae adhibetur. Factio praeparata in Ubuntu, Debian, Fedora et CentOS feliciter probata est, sed etiam in aliis distributionibus adhiberi potest. Factio originalis nondum publice in promptu est, significans leve esse et ab aliis investigatoribus facile recreari, ideo interest ut quam primum in multi-usoris systematibus renovationem commissuram instituere. Polkit etiam in systematibus BSD et Solaris praesto est, sed in iis usui non studuit. Quod notum est, impetum in OpenBSD exerceri non posse, cum nucleus OpenBSD nullum valorem argc feratur, cum dicitur execve () non patitur.

Problema praesens ab Maio 2009 fuit, cum additionem mandati pkexec. Fixum pro vulnerabilitate PolKit praesto est ut commissura (nulla emissio emissio dimissa est), sed cum distributio tincidunt quaestionis in antecessum notificata sunt, pleraeque distributiones simul cum indicio informationis de vulnerabilitate ediderunt renovationem. Agitur in RHEL 6/7/8, Debian, Ubuntu, openSUSE, SUSE, Fedora, ALT Linux, ROSA, Gentoo, Void Linux, Arch Linux et Manjaro. Ut mensura temporaria ad vulnerabilitatem claudendam, vexillum SUD radicem e programmatis /usr/bin/pkexec removere potes ("chmod 0755 /usr/bin/pkexec").



Source: opennet.ru

Add a comment