SicherheitSecurity
Wie Sie eine Schwachstelle melden, wie wir mit Meldungen umgehen und welche Sicherheitshinweise veröffentlicht sind.How to report a vulnerability, how we handle reports, and which security advisories have been published.
Schwachstelle meldenReporting a vulnerability
Melden Sie Schwachstellen an security@vivodepot.de. Sie können Ihre Nachricht mit unserem PGP-Schlüssel verschlüsseln: docs/security/pgp-pubkey.asc(öffnet in neuem Fenster)(opens in a new window).Please report vulnerabilities to security@vivodepot.de. You can encrypt your message with our PGP key: docs/security/pgp-pubkey.asc(öffnet in neuem Fenster)(opens in a new window).
Fingerabdruck: 30FB 9B42 7F12 095D 317B 4485 F527 3B32 959A 7D42Fingerprint: 30FB 9B42 7F12 095D 317B 4485 F527 3B32 959A 7D42
Was gemeldet werden sollWhat to report
- Manipulationen der Vivodepot-Datei, die zu fremden Trust-Authority-Schlüsseln führenManipulations of the Vivodepot file that lead to third-party Trust Authority keys
- unerwartetes Verhalten der Kryptoschicht, etwa eine erfolgreiche Entschlüsselung bei manipulierten Headern oder JWS-Signaturen, die fälschlich akzeptiert werdenunexpected behaviour of the cryptographic layer, for example successful decryption with manipulated headers, or JWS signatures that are wrongly accepted
- Schwächen in der Schlüsselverwaltung, etwa extrahierbare Schlüssel, die in der Architektur als
extractable: falsemarkiert sindweaknesses in key management, for example extractable keys that the architecture marks asextractable: false - Lecks im Notfall-Cache (Stufe 1 oder Stufe 2)leaks in the emergency cache (level 1 or level 2)
- Schwachstellen der Übergabe-Datei, die bei der empfangenden Einrichtung zu unerwarteten Datenlecks führenweaknesses of the handover file that lead to unexpected data leaks at the receiving institution
- Unstimmigkeiten in der SBOM, die auf eine nicht angegebene fremde Bibliothek hinweiseninconsistencies in the SBOM that point to an undeclared third-party library
Was nicht über diesen Weg gemeldet wirdWhat not to report this way
Allgemeine Mängel der Bedienung, Wünsche nach Funktionen und Verbesserungen der Dokumentation gehören als Issue in das öffentliche Repository, nicht in den Meldeweg für Schwachstellen.General usability issues, feature requests and documentation improvements belong in the public repository as issues, not in the vulnerability reporting path.
Wie wir mit Meldungen umgehenHow we handle reports
- Eine erste Bestätigung erhalten Sie innerhalb von 72 Stunden, eine begründete erste Einschätzung innerhalb von 14 Tagen.You receive a first acknowledgement within 72 hours and a reasoned first assessment within 14 days.
- Wir veröffentlichen nach dem Verfahren der koordinierten Offenlegung (Coordinated Disclosure): eine Schwachstelle wird veröffentlicht, sobald eine Abhilfe bereitsteht, in Abstimmung mit der meldenden Person.We publish by coordinated disclosure: a vulnerability is published once a mitigation is available, in agreement with the person who reported it.
- Ist eine Schwachstelle kritisch und gibt es keine Abhilfe, wird sie spätestens 90 Tage nach der Meldung veröffentlicht, mit einer Warnung an die Pilotpartner.If a vulnerability is critical and no mitigation exists, it is published no later than 90 days after the report, with a warning to the pilot partners.
Cyber Resilience ActCyber Resilience Act
Wir behandeln Vivodepot als wichtiges Produkt der Klasse I (Verordnung (EU) 2024/2847, Anhang III Nr. 1).We treat Vivodepot as an important product of class I (Regulation (EU) 2024/2847, Annex III no. 1).
Seit dem 11.09.2026 gilt die Meldepflicht nach Art. 14: Die Vivodepot GmbH meldet aktiv ausgenutzte Schwachstellen und schwerwiegende Sicherheitsvorfälle mit Auswirkung auf das Produkt über die einheitliche Meldeplattform der ENISA an CERT-Bund im BSI als koordinierendes CSIRT. Das sind eine Frühwarnung binnen 24 Stunden nach Kenntnis, eine Meldung binnen 72 Stunden und ein Abschlussbericht spätestens 14 Tage, nachdem eine Korrektur- oder Risikominderungsmaßnahme zur Verfügung steht; bei einem schwerwiegenden Vorfall innerhalb eines Monats nach der Meldung. Die betroffenen Nutzerinnen und Nutzer werden informiert (Art. 14 Abs. 8).Since 11 September 2026 the reporting obligation under Art. 14 applies: Vivodepot GmbH reports actively exploited vulnerabilities and severe incidents affecting the product through ENISA’s single reporting platform to CERT-Bund at the BSI as the coordinating CSIRT. That is an early warning within 24 hours of becoming aware, a notification within 72 hours, and a final report no later than 14 days after a corrective or mitigating measure is available; for a severe incident, within one month of the notification. Affected users are informed (Art. 14(8)).
Grundlage dieser Angaben ist SECURITY.md(öffnet in neuem Fenster)(opens in a new window) in der Fassung v1.0.930.These statements are based on SECURITY.md(öffnet in neuem Fenster)(opens in a new window) as of v1.0.930.
Veröffentlichte SicherheitshinweisePublished security advisories
Jede behobene Schwachstelle steht mit ihrer Nummer im CHANGELOG unter der Fassung, die sie behebt, zusammen mit dem, was zu tun ist. Die Liste gibt den Stand von v1.0.930 wieder, je Hinweis ein Satz aus dem CHANGELOG.Each fixed vulnerability is listed with its number in the CHANGELOG under the version that fixes it, together with what to do. The list reflects v1.0.930, one sentence from the CHANGELOG per advisory; the CHANGELOG is written in German, the sentences here are translations.
| NummerNumber | Behoben inFixed in | HinweisAdvisory |
|---|---|---|
| VD-SEC-019 hochVD-SEC-019 high | v1.0.930v1.0.930 | Speicherte jemand die laufende Anwendung bei geöffnetem Depot mit „Seite speichern“ des Browsers, standen die gezeigten Angaben lesbar in der Datei, und geöffnet zeigte sie ohne Passwort ein offenes Depot.If someone saved the running application with an open depot using the browser’s “Save page”, the details shown were readable in the file, and when opened it showed an open depot without a password. |
| VD-SEC-020 mittelVD-SEC-020 medium | v1.0.929v1.0.929 | Der Schutz gegen das Einbetten in eine fremde Seite hing an einem Element, das eine mit „Seite speichern“ gesicherte Kopie nicht mehr trägt.The protection against embedding in a third-party page depended on an element that a copy saved with “Save page” no longer carries. |
| VD-SEC-021 hochVD-SEC-021 high | v1.0.929v1.0.929 | Die Lese-App gab einem signierten Sprachmodul die Prüfer-Stufe allein nach dem Zertifikat der Prüfstelle, ohne deren Geltungsbereich (Modultyp, Sprache) und die Bindung an die Originalsätze zu prüfen.The reader application gave a signed language module the reviewer level based on the review body’s certificate alone, without checking its scope (module type, language) and the binding to the original sentences. |
| VD-SEC-016 kritischVD-SEC-016 critical | v1.0.928v1.0.928 | Hatte eine Kachel der Startseite keine eigene Beschriftung, trug sie den Titel ihrer Situation, und dieser Titel wurde ohne Maskierung ins Markup gesetzt.If a tile on the start page had no label of its own, it carried the title of its situation, and this title was inserted into the markup without escaping. |
| VD-SEC-017 kritischVD-SEC-017 critical | v1.0.928v1.0.928 | Aus der Kennung eines Logikmoduls entstand ein Attribut am Knopf seiner Karte, und die Kennung wurde nur auf ihre Länge geprüft.The identifier of a logic module became an attribute on the button of its card, and the identifier was only checked for its length. |
| VD-SEC-018 kritischVD-SEC-018 critical | v1.0.928v1.0.928 | Texte eines Sprachmoduls wurden beim Einlass auf reinen Text geprüft, die Platzhalter für die Marke und für eine andere Beschriftung aber erst danach eingesetzt, ohne erneute Prüfung.Texts of a language module were checked for plain text on admission, but the placeholders for the brand and for another label were inserted only afterwards, without a second check. |
| VD-SEC-022 hochVD-SEC-022 high | v1.0.927v1.0.927 | Die ausgelieferten Produkte enthielten eine Schnittstelle für automatische Tests.The shipped products contained an interface for automated tests. |
| VD-SEC-014 mittelVD-SEC-014 medium | v1.0.923v1.0.923 | Beim Erzeugen eines Freigabe-Links prüfte Vivodepot die Adresse der Ablage nur auf ihre Länge, die Seite „Freigabe abholen“ nur auf den Anfang „https://“.When creating a share link, Vivodepot checked the storage address only for its length, and the “Collect share” page only for the prefix “https://”. |
| VD-SEC-015 mittelVD-SEC-015 medium | v1.0.923v1.0.923 | Eine Anfrage konnte Felder aus der Vorlage einer Einrichtung über die interne Schreibweise des Felds ansprechen, ohne dass geprüft wurde, ob die anfragende Stelle diese Vorlage ausgestellt hat; das galt auch für eine unsignierte Anfrage.A request could address fields from an institution’s template through the field’s internal notation without checking whether the requesting body had issued that template; this also applied to an unsigned request. |
| VD-SEC-012 mittelVD-SEC-012 medium | v1.0.918v1.0.918 | [Angaben im Dateikopf einer Depot-Datei, die vor der Passworteingabe gelesen werden,] waren nicht gegen Änderung gebunden: Wer die Datei veränderte, konnte einen falschen Hinweis anzeigen lassen oder ein Feld hinzufügen, das beim nächsten Speichern mitging.[Details in the header of a depot file that are read before the password is entered] were not bound against modification: anyone who altered the file could have a false hint displayed or add a field that was carried along at the next save. |
| VD-SEC-006 kritischVD-SEC-006 critical | v1.0.842v1.0.842 | Ein fremdes Logikmodul konnte beim Öffnen seines Dokuments Programmcode in der Anwendung ausführen und damit angezeigte Depotdaten an eine fremde Adresse schicken — ohne Signatur eingelassen oder in einer fremden Depotdatei mitgebracht.A third-party logic module could run program code in the application when its document was opened, and thereby send displayed depot data to a third-party address — admitted without a signature or brought along in a third-party depot file. |
| VD-SEC-007 kritischVD-SEC-007 critical | v1.0.842v1.0.842 | Eine fremde Depotdatei konnte über den Namen ihrer Marke, den Anbieternamen einer Vorlage oder die Liste einer Zusammenstellung Programmcode in der Anwendung ausführen und Daten aus der geöffneten Datei an eine fremde Adresse bringen.A third-party depot file could run program code in the application through the name of its brand, the provider name of a template or the list of a compilation, and bring data from the opened file to a third-party address. |
| VD-SEC-008 kritischVD-SEC-008 critical | v1.0.842v1.0.842 | Im Ausstellungswerkzeug der Trust Authority konnte eine präparierte Einreichung über ihre Anbieter-Kennung Programmcode ausführen.In the Trust Authority’s issuing tool, a prepared submission could run program code through its provider identifier. |
| VD-SEC-004 mittelVD-SEC-004 medium | v1.0.818 (teilweise), v1.0.830v1.0.818 (partly), v1.0.830 | Erzeugte Dateinamen trugen Personennamen (Übergabe-Datei eines Sub-Depots, Export-Dateien, Datei eines Empfängerkreises; bis v830 auch der Export an die EUDI-Wallet).Generated file names carried personal names (handover file of a sub-depot, export files, file of a recipient group; up to v830 also the export to the EUDI Wallet). |
| VD-SEC-003 hochVD-SEC-003 high | v1.0.810v1.0.810 | Felder, die ein Assistent unter einer Bedingung ausblendet, zeigten Listen-Editor, Bereichsansicht, PDF und Vorlesen trotzdem.Fields that an assistant hides under a condition were still shown by the list editor, the area view, the PDF and read-aloud. |
| VD-SEC-005 hochVD-SEC-005 high | v1.0.810v1.0.810 | Hatte die Person eine Bedingung für die Weitergabe festgelegt, ging der Auszug eines Empfängerkreises als QR-Code ohne die Vereinbarung hinaus, als Datei nicht.If the person had set a condition for passing on, the extract for a recipient group went out as a QR code without the agreement, though not as a file. |
| VD-SEC-001 hochVD-SEC-001 high | v1.0.805v1.0.805 | Abgewählte Angaben aus Listen wurden beim Beantworten einer Anfrage trotzdem übermittelt.Deselected details from lists were still transmitted when answering a request. |
| VD-SEC-002 hochVD-SEC-002 high | v1.0.799v1.0.799 | Beim Herausgeben einer Zusammenstellung, eines Anlass-Auszugs oder einer Antwort trug der Rohwert einer Liste auch zurückgehaltene Angaben hinaus.When handing out a compilation, an occasion extract or an answer, the raw value of a list also carried withheld details out. |
Vollständiger Wortlaut mit betroffenen Fassungen und dem, was zu tun ist: CHANGELOG.md(öffnet in neuem Fenster)(opens in a new window) (v1.0.930).Full wording with affected versions and what to do: CHANGELOG.md(öffnet in neuem Fenster)(opens in a new window) (v1.0.930).
security.txt
Unter vivodepot.de/.well-known/security.txt steht der Meldeweg maschinenlesbar nach RFC 9116: die Meldeadresse, die bevorzugten Sprachen Deutsch und Englisch, ein Ablaufdatum und als Richtlinie diese Seite und SECURITY.md.vivodepot.de/.well-known/security.txt carries the reporting path in machine-readable form under RFC 9116: the reporting address, the preferred languages German and English, an expiry date, and this page and SECURITY.md as policy.