Bis zu einem ersten stabilen Release wird ausschließlich der aktuelle Stand von
main mit Sicherheitskorrekturen versorgt.
Bitte keine ausnutzbaren Details in einem öffentlichen Issue veröffentlichen.
Nutze nach Möglichkeit eine private GitHub Security Advisory unter
https://github.com/amolani/linbo-patchless/security/advisories/new. Falls das
Repository nicht erreichbar ist, wende dich direkt an den Repository-Eigentümer.
Eine gute Meldung enthält betroffene Version/Commit, Voraussetzungen, Reproduktionsschritte, Auswirkung und – falls vorhanden – einen minimalen Proof-of-Concept ohne echte Zugangsdaten.
- Die Anwendung besitzt bewusst keine eigene Benutzeranmeldung. Ihre API kann Treiberprofile, Dateien und Image-Hooks verändern und gehört deshalb nicht in ein öffentliches Netz. Eine frische Paketinstallation bindet an die automatisch erkannte, konkrete private Adresse des linuxmuster-Servers. Diese Adresse darf nur aus einem vertrauenswürdigen Verwaltungsnetz erreichbar sein. Andernfalls sind ein administrativer SSH-Tunnel oder ein authentifizierender HTTPS-Reverse-Proxy zu verwenden. Der SSH-Tunnel leitet dabei ausschließlich die Patchless-Weboberfläche vom Server zum Administrationsrechner weiter; Patchless erhält dadurch keinen SSH-Zugriff auf LINBO-Clients.
- HTTP verschlüsselt Uploads und Verwaltungsdaten nicht. Der eingebaute Server
terminiert bewusst kein TLS. Der automatisch erkannte LAN-Bind darf deshalb
nicht über öffentliche oder unkontrollierte Netze geroutet werden.
Alte, implizite
0.0.0.0-Konfigurationen werden beim Update auf localhost migriert, sofern der Betreiber Klartext-Remotezugriff nicht ausdrücklich bestätigt. - Hardwaredaten stammen ausschließlich aus den von LINBO auf dem Server
abgelegten
*_hwinfo.gz-Dateien. Patchless baut keine Verbindung zu LINBO-Clients auf, erzeugt keinen Client-Schlüssel und injiziert keinen Public Key inlinbofs. - Archive und Dateipfade werden validiert und begrenzt. Uploads dürfen maximal
2 GiB, der entpackte Inhalt standardmäßig maximal 8 GiB groß sein. Vor der
Extraktion wird zusätzlicher Speicher für atomischen Import und Rollback
reserviert. Trotzdem sollte der freie Platz von
/tmpund/srv/linboüberwacht werden. - Der Dienst benötigt Schreibzugriff auf Image-Verzeichnisse, um
.driverpostsyncatomisch zu ersetzen. Die Dateisystem-ACL kann technisch auch qcow2-Dateien umbenennen oder entfernen. Dieser breite Schreibzugriff ist die wichtigste verbleibende serverseitige Privilegienkonzentration; ein eng begrenzter Hook-Writer und ein separater Extraktionsworker sind vor breitem Produktiveinsatz vorgesehen. - Vollautomatische Windows-Treiberinstallation setzt den einmalig im Golden
Image installierten Task
LINBO-Patchless-Driver-Installvoraus. Er läuft bei jedem Systemstart alsSYSTEMmit höchster Ausführungsstufe und startet nur den fest vorgegebenen Batch unterC:\Drivers\LINBO\pnputil-install.cmd, wenn dieser vorhanden ist. - Ein als SYSTEM ausgeführter, von normalen Benutzern beschreibbarer Pfad wäre
eine lokale Privilegieneskalation. Das Bootstrap-Skript ersetzt deshalb die
ACLs von
C:\DriversundC:\ProgramData\LINBO-Patchlessdurch explizite Vollzugriffe ausschließlich für SYSTEM und die lokale Administratorengruppe. Der Runner prüft Eigentümer und ACL von Verzeichnis und Batch vor jedem Start und bricht bei einem unprivilegierten Eigentümer, einer fremden Allow-Regel oder einer ungeschützten Root-ACL geschlossen ab. Nach dem ersten realen Restore/Sync müssen Administratoren diese Grenze zusätzlich miticacls C:\Driverskontrollieren. - Der Hook akzeptiert den SYSTEM-Task nur, wenn sowohl die Taskdatei als auch
der exakte, erst nach vollständiger Taskprüfung geschriebene Projektmarker
vorhanden sind. Eine verwaiste oder fremde Taskdatei deaktiviert den Fallback
nicht. Ohne bestätigten Task wird lediglich
!LinboDriverInstallgesetzt; dieser RunOnce-Pfad benötigt eine Administratoranmeldung und ist nicht für einen unbeaufsichtigten Rollout geeignet. - Der Startup-Task hilft nicht bei bootkritischen Storage-Treibern: Wenn Windows ohne den Treiber nicht bis zum Task Scheduler startet, muss der Treiber vorab im Golden Image oder offline in das Image integriert werden.
- Inventardaten können Gerätekennungen enthalten. Die normale API blendet MACs aus; API- und Journalzugriff bleiben dennoch schützenswert.
Secrets, private Schlüssel, reale Seriennummern oder vollständige Schullogs dürfen nicht in Issues, Testfixtures oder Commits gelangen.