NEWS
"critical severity vulnerabilities" bei npm-Installation
-
Nicht mit sudo hantieren...
Und im falschen Verzeichnis stehste auch...Statt npm besser per iobroker-Kommando installieren.
-
@klausstoertebeker sagte in "critical severity vulnerabilities" bei npm-Installation:
Wie kopiere ich einen einzelnen Adapter (NICHT die Instanzen - die sind ja im Backup gesichert) von einem Rechner auf den anderen?
Gar nicht.
Damit würden die Einträge in den package.json fehlen. -
@thomas-braun
Wenn Du mir sagst, wie ich ein "iobroker install" auf einen Adapter anwenden kann, der NICHT über eines der Repositories "stable" oder "latest" installierbar ist (hatte ich in meinem Topic ja geschrieben), wäre ich dankbar für Informationen.
und sudo benötigt man, um im Ordner "/opt/iobroker" Änderungen durchführen zu können. Denn soweit ich weiß, steht der Nutzer "iobroker" zwar in der Gruppe "sudo", darf aber den Befehl "npm" nicht als root ausführen...
Gruß
"Klaus" -
@klausstoertebeker sagte in "critical severity vulnerabilities" bei npm-Installation:
und sudo benötigt man, um im Ordner "/opt/iobroker" Änderungen durchführen zu können.
Nein, da muss der ausführende User lediglich in der Gruppe
iobroker
sein. Root-Rechte sind da nicht erforderlich. -
@klausstoertebeker sagte in "critical severity vulnerabilities" bei npm-Installation:
Wenn Du mir sagst, wie ich ein "iobroker install" auf einen Adapter anwenden kann
Per giturl
-
@klausstoertebeker sagte in "critical severity vulnerabilities" bei npm-Installation:
darf aber den Befehl "npm" nicht als root ausführen...
Vollkommen richtig, denn npm wird auch nicht als root ausgeführt.
-
@klausstoertebeker sagte in "critical severity vulnerabilities" bei npm-Installation:
Wenn Du mir sagst, wie ich ein "iobroker install" auf einen Adapter anwenden kann, der NICHT über eines der Repositories "stable" oder "latest" installierbar ist (hatte ich in meinem Topic ja geschrieben), wäre ich dankbar für Informationen.
So:
$ iobroker url https://github.com/homecineplexx/ioBroker.homepilot20 --host DEINHOSTNAME --debug install homecineplexx/ioBroker.homepilot20#02cc37918b4279ce1e5175f1b3f84eb6057eea6b Installing homecineplexx/ioBroker.homepilot20#02cc37918b4279ce1e5175f1b3f84eb6057eea6b... (System call) npm WARN skipping integrity check for git dependency ssh://git@github.com/homecineplexx/ioBroker.homepilot20.git 106 packages are looking for funding run `npm fund` for details upload [3] homepilot20.admin /opt/iobroker/node_modules/iobroker.homepilot20/admin/homepilot.png homepilot.png image/png upload [1] homepilot20.admin /opt/iobroker/node_modules/iobroker.homepilot20/admin/style.css style.css text/css upload [0] homepilot20.admin /opt/iobroker/node_modules/iobroker.homepilot20/admin/words.js words.js application/javascript Process exited with code 0
Entsprechend für ioBroker.pioneer_sc_vsx dann so:
echad@chet:~ $ iobroker url https://github.com/okeck1982/ioBroker.pioneer_sc_vsx --host DEINHOSTNAME --debug install okeck1982/ioBroker.pioneer_sc_vsx#b74d0f748835d2c1c4b860d43a8e6a24939039ce NPM version: 10.2.4 Installing okeck1982/ioBroker.pioneer_sc_vsx#b74d0f748835d2c1c4b860d43a8e6a24939039ce... (System call) npm WARN skipping integrity check for git dependency ssh://git@github.com/okeck1982/ioBroker.pioneer_sc_vsx.git added 3 packages in 9s 106 packages are looking for funding run `npm fund` for details upload [3] pioneer_sc_vsx.admin /opt/iobroker/node_modules/iobroker.pioneer_sc_vsx/admin/index_m.html index_m.html text/html upload [2] pioneer_sc_vsx.admin /opt/iobroker/node_modules/iobroker.pioneer_sc_vsx/admin/pioneer_sc_vsx.png pioneer_sc_vsx.png image/png upload [1] pioneer_sc_vsx.admin /opt/iobroker/node_modules/iobroker.pioneer_sc_vsx/admin/style.css style.css text/css upload [0] pioneer_sc_vsx.admin /opt/iobroker/node_modules/iobroker.pioneer_sc_vsx/admin/words.js words.js application/javascript echad@chet:~ $
Wo ist dann sudo bzw. eine root shell erforderlich gewesen?
-
Diese Art der Fehler muss der Adapter owner behebe.
Sie bedeuten, dass er eine Version einer Bibliothek verwendet, die eine sicheitslücke Beinhaltet.Wenn du es selber beheben möchtest, dann musst du auf github den Adapter Klonen, den Fehler beheben (eventuell reicht es schon, die Dependence the zu aktualisieren) und dann kannst du zum einen einen so genannten pullrequest erzeugen, den du dem Adapter owner übermittelst und/oder du installierst dir dann deine Version des Adapters direkt von github
Auf jeden Fall kannst du ob es unter dem Adapter auf github bereits einen issue gibt, ansonsten kannst du ihn erfassen.
Das manuelle kopieren würde ich lassen, das gibt nur Schwierigkeiten
-
@klausstoertebeker sagte in "critical severity vulnerabilities" bei npm-Installation:
Und weil wir gerade dabei sind:
Mit
sudo npm audit fix --force
zerbröselt man sich auch ganz wunderbar seine Installation. Insbesondere wenn der fix auch noch geforced wird.
-
Von einer Installation von Adaptern die NICHT via Repositories installierbar sind wird auf produktiven Systemen und für nicht erfahrene User prinzipiell abgeraten.
Von Github sollte nur installiert werden, wenn dies der Entwickler z.B. als Hotfix oder zur Fehlersuche vorgibt. In jedem Fall gilt "Use at own risk".
Adapter die nicht im Repository enthalten sind lassen vermuten, dass die Entwicklung nur halbherzig erfolgt und / oder dass erkannte Mängel die der Maintainer nicht behebt eine Aufnahme verhindern.
Die erste Maßnahme bei Adaptern die nicht im Repository enthalten sind ist den Entwickler zu kontaktieren und zu ersuchen eine Aufnahme zu veranlassen. Infos dazu gibt es hier:
Im Bedarfsfall können wir gerne dabei unterstützen. Einfach als dev hier oder besser noch im Telegrammchannel (Links unter www.iobroker.dev) melden.
edit:
Da homepilot20 offensichtlich gewartet wird, sollte eine Aufnahme des Adapters in die offiziellen Repos durchaus möglich sein. Derzeit fehlen diesem Adapter aber z.B. die standardmäßigen Basisteste - und ev. noch andere Dinge. Dies würde ein Review zeigen. Wenn der Adapetr aber prinzipiell funktioniert sollten das keine unlösbaren Hindernisse sein.
Ergo -> Entwickler kontaktieren.