Mehrere Schwachstellen in Google Chrome
Google hat das wöchentliche Update für den Chrome-Webbrowser veröffentlicht, das drei Sicherheitslücken korrigiert.
Google hat das wöchentliche Update für den Chrome-Webbrowser veröffentlicht, das drei Sicherheitslücken korrigiert.
Das Customer-Relations-Management-System SugarCRM enthält mehr als achtzehn Sicherheitslecks, die in den neuesten Versionen behoben wurden.
Die Programmierer der Mozilla-Stiftung haben zwei kritische Sicherheitslücken im Webbrowser Firefox und eine in Firefox ESR behoben.
VMware ist ein Anbieter von Virtualisierungssoftware und Cloud-Infrastruktur, der Unternehmen dabei hilft, ihre IT-Ressourcen effizienter zu nutzen.
Nvidia hat mit einem Update Schwachstellen in den GPU-Treibern beseitigt. Betroffen sind Treiber für Grafikprozessoren der Serien GeForce, NVS, Quadro, Studio und Tesla.
In einem Update haben die Entwickler der JavaScript-Laufzeitumgebung Node.js mehrere Sicherheitslücken behoben, von denen einige ein erhebliches Schadenspotenzial aufweisen.
Shim ist ein Open-Source-Bootloader, der speziell für die Verwendung auf handelsüblichen Windows-Computern entwickelt wurde, um neben Windows auch andere vertrauenswürdige Betriebssysteme mit Secure…
Mastodon ist ein dezentralisierter Kurznachrichtendienst als Alternative zu sozialen Netzwerken wie X.
Die Entwickler von Jenkins haben eine Sicherheitsmeldung veröffentlicht, die eine kritische Sicherheitslücke in der Kommandozeilenschnittstelle (CLI) von Jenkins Core betrifft.
Die Entwickler der drei Monitoringlösungen – Splunk, checkmk und Cacti – haben Sicherheitslücken in ihren Produkten gemeldet und entsprechende Patches veröffentlicht.
Der Android-Patchday ist eine monatliche Veröffentlichung von Sicherheitsupdates durch Google für das Android-Betriebssystem.
Das ist der zweite Teil einer Mini-Serie zur GPIO-Nutzung am Raspberry Pi 5:
Zu den wichtigsten Neuerungen beim Raspberry Pi 5 zählt nicht nur der viel schnellere SoC (System-on-a-Chip), sondern auch ein eigener I/O-Controller, der als eigener Chip realisiert ist (RP1). Dieser I/O-Chip bringt mit sich, dass etablierte Mechanismen zur GPIO-Steuerung nicht mehr funktionieren. Besonders stark betroffen sind Kommandos, die im Terminal oder in Bash-Scripts aufgerufen werden.
Im Verlauf eines Jahrzehnts haben sich diverse Kommandos etabliert, die mittlerweile veraltet sind. Dazu zählt das Kommando gpio
aus dem WiringPi-Projekt, das bereits 2019 eingestellt wurde. Ebenfalls verabschieden müssen Sie sich von dessen Nachfolger-Kommando raspi-gpio
: Das Kommando ist nicht mit dem neuen I/O-Chip RP1 kompatibel. Glücklicherweise lässt sich das Kommando relativ einfach durch pinctrl
ersetzen.
Deutlich ärgerlicher ist, dass auch der beliebte Dämon pigpiod
und das dazugehörende Kommando pigs
der Kompatibilität zu RP1 zum Opfer gefallen ist. Absurderweise kann der Dienst Anfang 2024 im Raspberry-Pi-Konfigurationsprogramm als GPIO-Fernzugriff scheinbar weiterhin aktiviert werden.
journalctl -u pigpiod
beweist aber, dass der Dienst nicht funktioniert:
journalctl -u pigpiod
systemd[1]: Starting pigpiod.service - Daemon required to control GPIO pins via pigpio...
systemd[1]: Started pigpiod.service - Daemon required to control GPIO pins via pigpio.
pigpiod[88161]: 2023-12-29 11:02:24 gpioHardwareRevision: unknown rev code (d04170)
pigpiod[88161]: 2023-12-29 11:02:24 initCheckPermitted:
pigpiod[88161]: +---------------------------------------------------------+
pigpiod[88161]: |Sorry, this system does not appear to be a raspberry pi. |
pigpiod[88161]: |aborting. |
pigpiod[88161]: +---------------------------------------------------------+
pigpiod[88161]: Can't initialise pigpio library
systemd[1]: pigpiod.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: pigpiod.service: Failed with result 'exit-code'.
Das Problem ist bekannt, aber es sieht nicht so aus, als könnte es behoben werden: https://github.com/joan2937/pigpio/issues/589
Welche Kommandos funktionieren dann noch? Sie haben die Wahl zwischen den gpioxxx
-Kommandos aus dem Paket gpiod
sowie pinctrl
(siehe den folgenden Abschnitt). Das Paket gpiod
ist standardmäßig installiert. Die darin enthaltenen Kommandos nutzen zur Kommunikation mit dem Kernel die Device-Dateien /dev/gpiochip<n>
und die Bibliothek libgpiod2
.
Der größte Nachteil der Kommandos gpioget
, gpioset
usw. besteht darin, dass Sie als ersten Parameter die GPIO-Chip-Nummer angeben müssen. Diese variiert je nach Raspberry-Pi-Modell. Bei den Modellen der Serie 1 bis 4 müssen Sie die Nummer 0 angeben, ab Modell 5 die Nummer 4.
# LED ein- und ausschalten, die über den GPIO 7 gesteuert wird
# (= Pin 26 des J8-Headers)
# gpioset auf dem Raspberry Pi 5
gpioset 4 7=1; sleep 3; gpioset 4 7=0
# gpioset auf dem Raspberry Pi 1 bis 4
gpioset 0 7=1; sleep 3; gpioset 0 7=0
Warum variiert die GPIO-Chip-Nummer? Weil beim Raspberry Pi 4 die Kernel-Schnittstelle /dev/gpiochip0
für die GPIO-Steuerung verantwortlich ist (das sind in den BCM 2711 integrierte Funktionen), beim Pi 5 aber der RP1 (ein externer Chip) mit der Kernel-Schnittstelle /dev/gpiochip4
. Informationen darüber, welche GPIO-Schnittstellen es gibt und welche GPIO-Funktion wie »verdrahtet« ist, geben die Kommandos gpiodetect
und gpioinfo
. Die folgenden Ausgaben gelten für den Raspberry Pi 5:
gpiodetect
gpiochip0 [gpio-brcmstb@107d508500] (32 lines)
gpiochip1 [gpio-brcmstb@107d508520] ( 4 lines)
gpiochip2 [gpio-brcmstb@107d517c00] (17 lines)
gpiochip3 [gpio-brcmstb@107d517c20] ( 6 lines)
gpiochip4 [pinctrl-rp1] (54 lines)
gpioinfo
gpiochip0 - 32 lines:
line 0: "-" unused input active-high
line 1: "2712_BOOT_CS_N" "spi10 CS0" output active-low
line 2: "2712_BOOT_MISO" unused input active-high
...
gpiochip1 - 4 lines:
line 0: "WIFI_SDIO_D0" unused input active-high
line 1: "WIFI_SDIO_D1" unused input active-high
...
gpiochip2 - 17 lines:
line 0: "RP1_SDA" unused input active-high
line 1: "RP1_SCL" unused input active-high
line 2: "RP1_RUN" "RP1 RUN pin" output active-high
...
gpiochip3 - 6 lines:
line 0: "HDMI0_SCL" unused input active-high
line 1: "HDMI0_SDA" unused input active-high
...
gpiochip4 - 54 lines:
line 0: "ID_SD" unused input active-high
line 1: "ID_SC" unused input active-high
line 2: "PIN3" unused input active-high
line 3: "PIN5" unused input active-high
line 4: "PIN7" "onewire@0" output active-high
line 5: "PIN29" "onewire@0" output active-low
line 6: "PIN31" unused input active-high
line 7: "PIN26" unused input active-high
line 8: "PIN24" unused input active-high
line 9: "PIN21" unused input active-high
line 10: "PIN19" unused input active-high
...
line 28: "PCIE_RP1_WAKE" unused input active-high
line 29: "FAN_TACH" unused input active-high
line 30: "HOST_SDA" unused input active-high
line 31: "HOST_SCL" unused input active-high
line 32: "ETH_RST_N" "phy-reset" output active-low
...
Um Scripts zu programmieren, die universell funktionieren, können Sie die folgenden Zeilen in den Code einbauen:
# chip=4 für RPi5, chip=0 für ältere Modelle
if gpiodetect | grep -q "pinctrl-rp"; then
chip=4
else
chip=0
fi
In der einfachsten Form schalten Sie mit gpioset
einen GPIO-Ausgang auf High oder Low. In den folgenden Beispielen bezieht sich der erste Parameter auf die gpiochip
-Nummer. 7
gibt die GPIO-Nummer in BCM-Nomenklatur an, 1
oder 0
den gewünschten Zustand:
gpioset $chip 7=1 # GPIO 7 (Pin 26) auf High stellen
gpioset $chip 7=0 # GPIO 7 (Pin 26) auf Low stellen
Sie können auch mehrere Ausgänge auf einmal steuern (hier GPIO 7, 8 und 25):
gpioset $chip 7=0 8=1 25=0
Durch diverse Optionen können Sie weitere Funktionen steuern (siehe auch man gpioset
):
--bias=as-is|disable|pull-down|pull-up
aktiviert die internen Pull-up- oder Pull-down-Widerstände.
--mode=exit|wait|time|signal
gibt an, wie lange das Kommando laufen soll. Standardmäßig gilt exit
, das Kommando wird also sofort beendet. Mit wait
wartet das Programm, bis der Benutzer [Return]
drückt. Bei der Einstellung time
können Sie mit --sec=<n>
oder --usec=<n>
die gewünschte Wartezeit einstellen. signal
bedeutet, dass das Programm weiterläuft, bis es mit [Strg]
+[C]
beendet wird.
--background
führt das Kommando als Hintergrunddienst weiter.
gpioget
funktioniert analog zu gpioset
: Sie übergeben im ersten Parameter die gpiochip
-Nummer (in aller Regel 0), im zweiten Parameter die BCM-Nummer des GPIOs, dessen Input Sie auswerten wollen. Das Ergebnis des Kommandos lautet 0
oder 1
, je nachdem, welchen Zustand der Eingang hat.
gpioget $chip 9 # Zustand von GPIO 9 (Pin 21) auslesen
0
Auch mit pinctrl
aus dem Paket raspi-utils
können Sie GPIO-Funktionen steuern. Der Vorteil von pinctrl
besteht darin, dass das Kommando zur Zeit mit allen Raspberry-Pi-Modellen kompatibel ist. Eine Fallunterscheidung, ob das Script auf einem alten oder neuen Modell mit RP1-Chip läuft, entfällt. Außerdem ist das Kommando syntaktisch weitestgehend zu raspi-gpio
kompatibel.
Gegen den Einsatz des Kommandos spricht der Umstand, dass das Kommando laut pinctrl -h
(der einzigen mir bekannten Dokumentation) nur für Debugging-Zwecke gedacht ist.
Die folgende Aufzählung fasst die wichtigsten Anwendungen des Kommandos zusammen:
pinctrl get [gpionr]
ermittelt den aktuellen Status aller GPIOs bzw. des angegebenen GPIOs.
pinctrl funcs [gpionr]
ermittelt, welche alternativen Funktionen der angegebene GPIO bzw. alle GPIOs erfüllen können.
pinctrl set gpionr options
verändert den Status des angegeben GPIOs. Mögliche Optionen sind:
ip
= Inputop
= Outputdl
= Zustand Low (Drive Low)dh
= Zustand High (Drive High)pu
= Pull-up-Widerstand aktivpd
= Pull-down-Widerstand aktivpn
= keine Pull-up/down-Funktiona0
bis a7
= alternative Funktion n aktivierenno
= Deaktivieren (no function)Soweit sich sinnvolle Kombinationen ergeben, dürfen mehrere der obigen Optionen auf einmal übergeben werden, jeweils getrennt durch Leerzeichen. Welche alternative Funktionen ein GPIO unterstützt und wie sie nummeriert sind, geht aus pinctrl funcs
hervor.
Das folgende Kommando ermittelt, welche Funktionen der GPIO mit der BCM-Nummer 23 unterstützt. Auf dem Raspberry Pi ist dieser GPIO mit Pin 16 des J8-Headers verbunden. GPIO23 kann diverse Funktionen übernehmen:
pinctrl funcs 23
23, PIN16/GPIO23, SD0_CMD, DPI_D19, I2S0_SDO1, SCL3,
I2S1_SDO1, SYS_RIO023, PROC_RIO023, PIO23
Wenn Sie über Pin 26 (BCM-Nummer 07) eine Leuchtdiode angeschlossen haben, dann können Sie die LED wie folgt ein- und ausschalten:
pinctrl set 7 op dh # LED an Pin 26 ein
pinctrl set 7 op dl # LED an Pin 26 aus
Eine Sicherheitslücke in Chrome hat zur Folge, dass ein entfernter Angreifer Schadcode auf dem System des Opfers ausführen kann.
ParseExcel ist eine Programmierbibliothek zum Lesen, Bearbeiten und Schreiben von Excel-Dateien.
Anfang Dezember bemerkte der MongoDB-Anbieter, dass Angreifer Zugriff auf NoSQL-Datenbanken von Kunden erlangten.
Eine Sicherheitslücke in dem WordPress CMS hat zur Folg
Eine <a href= kritische Sicherheitslücke in Apache A
Owncloud ist eine Open-Source-Software, die die Speiche
Mehrere kritische Sicherheitslücken wurden kürzlich
Schwachstellen in den Treibern für Linux- und Windows-Systeme mit Grafikkarten von Nvidia haben zur Folge, dass Angreifer Attacken gegen diese System ausführen können. Insgesamt wurden vier Sicherheitslücken (CVE-2023-31016, CVE-2023-31017, CVE-2023-31019, CVE-2023-31027) mit dem Bedrohungsgrad hoch kürzlich in den entsprechenden Treibern entdeckt. Angreifer können dadurch höhere Rechte auf dem System erlangen und damit Befehle ausführen. Auch kann der Angreifer so unberechtigt an Informationen auf dem System gelangen. Ebenso sind auch Denial-of-Service-Attacken möglich.
Der Beitrag Nvidia-Grafikkarten-Treiber: Angreifer kann Befehle ausführen erschien zuerst auf Linux-Magazin.
Infolge unzureichender Überprüfungen von Benutzereingaben bestehen Sicherheitslücken im Customer-Relationship-Management System SugarCRM. Die Entwickler bewerten das Risiko als hoch. In einem Fall ermöglicht das Notes-Modul Angreifern, eigenen PHP-Code hochzuladen, da es Benutzereingaben nicht ausreichend prüft. Im zweiten Fall liegt die Schwachstelle in der GecControl Aktion des Import-Moduls, wo eine unzureichende Bereinigung von Nutzereingaben über den field_name-Parameter Path-Traversal Angriffe ermöglicht. Reguläre Benutzerrechte sind ausreichend, um diese Angriffe durchzuführen. Sicherheitspatches stehen zur Behebung dieser Probleme zur Verfügung.
Der Beitrag SugarCRM: Angreifer kann Befehle ausführen erschien zuerst auf Linux-Magazin.
VMware hat zwei Sicherheitswarnungen veröffentlicht, die vor hochriskanten Sicherheitslücken in Produkten wie VMware Aria Operations for Logs, VMware Fusion und VMware Workstation warnen.
In VMware Aria Operations for Logs haben nicht autorisierte Angreifer die Möglichkeit, Dateien in das Betriebssystem der betroffenen Geräte einzuschleusen und damit schadhaften Code auszuführen (CVE-2023-34051). Darüber hinaus können Angreifer mit begrenzten Zugriffsrechten die Deserialisierung von Daten auslösen, wodurch die Authentifizierung umgangen werden kann (CVE-2023-34052).
Der Beitrag Kritische VMware-Schwachstellen erschien zuerst auf Linux-Magazin.
Joshua Rogers hat Anfang 2021 insgesamt 55 Sicherheitslücken in dem Web Cache Squid entdeckt. Aktuell wurden immer noch 35 dieser Schwachstellen noch nicht korrigiert. Squid ist ein Open-Source-Proxy-Server und Web-Caching-Programm zur Verbesserung der Netzwerkeffizienz und Sicherheit. Derzeit sind über 2,5 Millionen Instanzen im Internet verfügbar. Rogers hat die 55 Sicherheitslecks unter Verwendung verschiedener Techniken wie Fuzzing, manueller Codeüberprüfung und statistischer Analyse entdeckt. In einem Blog-Post berichtet er nun, dass die meisten dieser Schwachstellen bisher noch nicht behoben wurden. Als Grund führt er den Personalmangel des Squid-Projekts an. Mittlerweile sind für die Schwachstellen auch Proof-of-Concepts Exploits im Umlauf.
Der Beitrag Squid-Proxy: Zahlreiche Sicherheitslücken erschien zuerst auf Linux-Magazin.
Ein Programmierfehler in der libcue-Bibliothek führt zu einer Sicherheitslücke in Gnome. Ein Angreifer kann dadurch Befehle mit den Rechten des Anwenders ausführen. Bei CUE handelt es sich um Metadaten für CD-Abbilder, die immer noch beim FLAC Audio-Codec Verwendung finden.
Deshalb verarbeiten viele moderne Audio-Player wie Audacious immer noch solche Dateien. Zusätzlich integriert Gnome die Anwendung tracker-miners, die dazu dient, Dateien im Benutzer-Homeverzeichnis zu indexieren, um ihre Durchsuchbarkeit zu verbessern. Wenn Dateien in speziellen Unterverzeichnissen des Home-Verzeichnisses wie ~/Downloads abgelegt oder geändert werden, erfolgt automatisch eine Aktualisierung des Index durch tracker-miners. Der Angreifer muss lediglich sein Opfer dazu bringen, einen Link anzuklicken, der den Schadcode ausführt.
Libcue wies einen Fehler bei der Verarbeitung des “INDEX”-Elements in den Cue-Sheets auf. Dieser Fehler trat auf, wenn anstelle von “INDEX 01 00:00:00” (im Format Index, Tracknummer, Startzeit) beispielsweise “INDEX 4294567296 0” im Cue-Sheet erschien. Dies führte zu einem Integer-Überlauf, da die Funktionen den Wert 2^32 in -400000 umwandelten, anstatt ihn zu erkennen. Darüber hinaus überprüfte eine weitere Funktion namens “track_set_index” nicht, ob der Index positiv war, was dazu führte, dass der Code an einer Stelle außerhalb des beabsichtigten Speicherbereichs schreiben konnte.
Der Beitrag Gnome: Schadcode durch Klicken erschien zuerst auf Linux-Magazin.