{"id":63623,"date":"2025-12-28T23:31:52","date_gmt":"2025-12-28T22:31:52","guid":{"rendered":"https:\/\/www.burks.de\/burksblog\/?p=63623"},"modified":"2025-12-28T23:31:52","modified_gmt":"2025-12-28T22:31:52","slug":"kryptografische-luecken","status":"publish","type":"post","link":"https:\/\/www.burks.de\/burksblog\/2025\/12\/28\/kryptografische-luecken","title":{"rendered":"Kryptografische L\u00fccken"},"content":{"rendered":"<p><a href=\"https:\/\/gpg.fail\/\"><img decoding=\"async\" src=\"https:\/\/www.burks.de\/burksblog\/pix\/2025\/12\/291225_1.jpg\" border=\"0\" width=\"480\" alt=\"jerusalem museum\"\/><\/a><\/p>\n<p>Im Heise-Forum beschweren sich die Nutzer, dass <a href=\"https:\/\/www.heise.de\/news\/39C3-Diverse-Luecken-in-GnuPG-und-anderen-kryptografischen-Werkzeugen-11125308.html\">der Artikel<\/a> &#8222;39C3: Diverse L\u00fccken in GnuPG und anderen kryptografischen Werkzeugen&#8220; nur eingeschr\u00e4nkt verst\u00e4ndlich sei. Ich pflichte dem bei. Ich habe mir daher die <a href=\"https:\/\/gpg.fail\/\">Liste der m\u00f6glichen Schwachstellen<\/a> von GPG zun\u00e4chst \u00fcbersetzen lassen. Das macht die Sache aber immer noch nicht besser.<\/p>\n<p>1. <b>Multiple Plaintext Attack on Detached PGP Signatures in GnuPG<\/b><br \/>\n\u2192 Mehrfach-Klartextangriff auf abgetrennte PGP-Signaturen in GnuPG (vgl. unten)<\/p>\n<p>2. <b>GnuPG Accepts Path Separators and Path Traversals in <a href=\"https:\/\/de.wikipedia.org\/wiki\/Literal\">Literal Data<\/a> &#8222;Filename&#8220; Field<\/b><br \/>\n\u2192 GnuPG akzeptiert Pfadtrenner und Pfadmanipulationen im &#8222;Dateiname&#8220;-Feld der Literal-Daten<\/p>\n<p>3. <b>Cleartext Signature Plaintext Truncated for Hash Calculation<\/b><br \/>\n\u2192 Klartext bei Klartextsignaturen wird f\u00fcr die Hash-Berechnung abgeschnitten<\/p>\n<p>4. <b>Encrypted message malleability checks are incorrectly enforced causing plaintext recovery attacks<\/b><br \/>\n\u2192 Pr\u00fcfungen der Verformbarkeit verschl\u00fcsselter Nachrichten werden fehlerhaft durchgesetzt und erm\u00f6glichen Klartext-Wiederherstellungsangriffe<\/p>\n<p>5. <b>Memory Corruption in ASCII-Armor Parsing<\/b><br \/>\n\u2192 Speicherbesch\u00e4digung beim <a href=\"https:\/\/www.dwds.de\/wb\/parsen\">Parsen<\/a> von ASCII-Armor<\/p>\n<p>6. <b>Trusted comment injection (minisign)<\/b><br \/>\n\u2192 Injektion vertrauensw\u00fcrdiger Kommentare (minisign)<\/p>\n<p>7. <b>Cleartext Signature Forgery in the NotDashEscaped header implementation in GnuPG<\/b><br \/>\n\u2192 F\u00e4lschung von Klartextsignaturen in der <a href=\"https:\/\/seclists.org\/oss-sec\/2025\/q4\/att-296\/07-notdash.txt\">NotDashEscaped-Header<\/a>-Implementierung von GnuPG<\/p>\n<p>8. <b>OpenPGP Cleartext Signature Framework Susceptible to Format Confusion<\/b><br \/>\n\u2192 OpenPGP-Klartextsignatur-Framework anf\u00e4llig f\u00fcr Formatverwechslungen<\/p>\n<p>9. <b>GnuPG Output Fails To Distinguish Signature Verification Success From Message Content<\/b><br \/>\n\u2192 GnuPG-Ausgabe unterscheidet nicht zuverl\u00e4ssig zwischen erfolgreicher Signaturpr\u00fcfung und Nachrichteninhalt<\/p>\n<p>10. <b>Cleartext Signature Forgery in GnuPG<\/b><br \/>\n\u2192 F\u00e4lschung von Klartextsignaturen in GnuPG<\/p>\n<p>11. <b>Radix64 Line-Truncation Enabling Polyglot Attacks<\/b><br \/>\n\u2192 Radix64-Zeilenk\u00fcrzung erm\u00f6glicht Polyglot-Angriffe<\/p>\n<p>12. <b>GnuPG may downgrade digest algorithm to SHA1 during key signature checking<\/b><br \/>\n\u2192 GnuPG kann beim Pr\u00fcfen von Schl\u00fcsselsignaturen den Digest-Algorithmus auf SHA-1 herabstufen<\/p>\n<p>13. <b>GnuPG Trust Packet Parsing Enables Adding Arbitrary Subkeys<\/b><br \/>\n\u2192 Parsen von GnuPG-Vertrauenspakteten erm\u00f6glicht das Hinzuf\u00fcgen beliebiger Unterschl\u00fcssel<\/p>\n<p>14. <b>Trusted comment Injection (minisign)<\/b><br \/>\n\u2192 Injektion vertrauensw\u00fcrdiger Kommentare (minisign)<\/p>\n<p>ChatGPT:<\/p>\n<h2>Das erste Problem einfach erkl\u00e4rt<\/h2>\n<p>Eine digitale Signatur ist wie eine <strong>Unterschrift unter einem Brief<\/strong>. Sie soll beweisen:<\/p>\n<p><em>&bdquo;Genau dieser Text wurde unterschrieben und nicht ver&auml;ndert.&ldquo;<\/em><\/p>\n<p>Bei diesem Problem in <strong>GnuPG<\/strong> kann genau dieses Vertrauen ausgenutzt werden.<\/p>\n<h2>Was kann ein Angreifer tun?<\/h2>\n<p>Ein Angreifer kann erreichen, dass dein Programm dir gleichzeitig zwei Dinge vermittelt:<\/p>\n<ul>\n<li><strong>&#10003; &bdquo;Die Unterschrift ist g&uuml;ltig&ldquo;<\/strong><\/li>\n<li>du aber <strong>einen anderen Text liest<\/strong>, als den, den der Absender wirklich unterschrieben hat<\/li>\n<\/ul>\n<p>Anders gesagt:<\/p>\n<p><strong>Die Unterschrift geh&ouml;rt zu Text A, aber angezeigt wird dir Text B.<\/strong><\/p>\n<h2>Warum ist das gef&auml;hrlich?<\/h2>\n<p>Viele Menschen verlassen sich auf das Ergebnis:<\/p>\n<p><strong>&bdquo;Signatur g&uuml;ltig&ldquo;<\/strong><\/p>\n<p>und nehmen automatisch an, dass dann auch der Inhalt stimmt. Bei dieser Schwachstelle kann man jedoch <strong>trotz g&uuml;ltiger Signatur<\/strong> &uuml;ber den angezeigten Inhalt get&auml;uscht werden.<\/p>\n<h2>Ein Alltagsbeispiel<\/h2>\n<p>Stell dir vor, du bekommst einen unterschriebenen Vertrag:<\/p>\n<ul>\n<li>Die Unterschrift ist echt.<\/li>\n<li>Aber jemand hat den Text ausgetauscht, den du liest.<\/li>\n<\/ul>\n<p>Du denkst:<\/p>\n<p><em>&bdquo;Die Unterschrift ist g&uuml;ltig, also muss der Inhalt stimmen.&ldquo;<\/em><\/p>\n<p>In Wirklichkeit wurde aber nicht das best&auml;tigt, was du gerade siehst.<\/p>\n<h2>Warum trifft das auch vorsichtige Nutzer?<\/h2>\n<p>Das besonders Gemeine ist: Selbst wenn man alles <strong>richtig<\/strong> macht und nur signierten Nachrichten vertraut, kann man in bestimmten Situationen trotzdem <strong>in die Irre gef&uuml;hrt<\/strong> werden.<\/p>\n<h2>Kurz gesagt<\/h2>\n<ul>\n<li><strong>Problem:<\/strong> Das Programm kann &bdquo;Signatur g&uuml;ltig&ldquo; anzeigen, obwohl dir ein <strong>falscher Text<\/strong> pr&auml;sentiert wird.<\/li>\n<li><strong>Folge:<\/strong> Man kann Menschen &uuml;ber den Inhalt einer angeblich signierten Nachricht <strong>t&auml;uschen<\/strong>.<\/li>\n<li><strong>Merke:<\/strong> Eine g&uuml;ltige Signatur bedeutet hier nicht zwingend, dass der <strong>angezeigte Text<\/strong> wirklich der unterschriebene ist.<\/li>\n<\/ul>\n<p>Nein. Ich lasse es. Ich brauchte die ganze Nacht mit ChatGPT, nur um zu verstehen, was eigentlich das Problem ist. Also hoffe ich, dass die Ultranerdigen das f\u00fcr mich l\u00f6sen.<\/p>\n<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-bottom-right\"><a href=\"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/posts\/63623?print=pdf\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_blank\" ><img decoding=\"async\" src=\"https:\/\/www.burks.de\/burksblog\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"PDF anzeigen\" \/><\/a><a href=\"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/posts\/63623?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\" ><img decoding=\"async\" src=\"https:\/\/www.burks.de\/burksblog\/wp-content\/plugins\/pdf-print\/images\/print.png\" alt=\"image_print\" title=\"Inhalt drucken\" \/><\/a><\/div><div class=\"twoclick_social_bookmarks_post_63623 social_share_privacy clearfix 1.6.4 locale-de_DE sprite-de_DE\"><\/div><div class=\"twoclick-js\"><script type=\"text\/javascript\">\/* <![CDATA[ *\/\njQuery(document).ready(function($){if($('.twoclick_social_bookmarks_post_63623')){$('.twoclick_social_bookmarks_post_63623').socialSharePrivacy({\"services\":{\"facebook\":{\"status\":\"on\",\"txt_info\":\"2 Klicks f\\u00fcr mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k\\u00f6nnen Ihre Empfehlung an Facebook senden. Schon beim Aktivieren werden Daten an Dritte \\u00fcbertragen - siehe <em>i<\\\/em>.\",\"perma_option\":\"off\",\"action\":\"recommend\",\"language\":\"de_DE\"},\"twitter\":{\"reply_to\":\"\",\"tweet_text\":\"%20Kryptografische%20L%C3%BCcken%20%C2%BB%20Burks%27%20Blog%20-%20in%20dubio%20pro%20contra.%20De%20omnibus%20...\",\"status\":\"on\",\"txt_info\":\"2 Klicks f\\u00fcr mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k\\u00f6nnen Ihre Empfehlung an Twitter senden. Schon beim Aktivieren werden Daten an Dritte \\u00fcbertragen - siehe <em>i<\\\/em>.\",\"perma_option\":\"off\",\"language\":\"de\",\"referrer_track\":\"\"}},\"txt_help\":\"Wenn Sie diese Felder durch einen Klick aktivieren, werden Informationen an Facebook, Twitter, Flattr, Xing, t3n, LinkedIn, Pinterest oder Google eventuell ins Ausland \\u00fcbertragen und unter Umst\\u00e4nden auch dort gespeichert. N\\u00e4heres erfahren Sie durch einen Klick auf das <em>i<\\\/em>.\",\"settings_perma\":\"Dauerhaft aktivieren und Daten\\u00fcber-tragung zustimmen:\",\"info_link\":\"http:\\\/\\\/www.heise.de\\\/ct\\\/artikel\\\/2-Klicks-fuer-mehr-Datenschutz-1333879.html\",\"uri\":\"https:\\\/\\\/www.burks.de\\\/burksblog\\\/2025\\\/12\\\/28\\\/kryptografische-luecken\",\"post_id\":63623,\"post_title_referrer_track\":\"Kryptografische+L%C3%BCcken\",\"display_infobox\":\"on\"});}});\n\/* ]]> *\/<\/script><\/div>","protected":false},"excerpt":{"rendered":"<p>Im Heise-Forum beschweren sich die Nutzer, dass der Artikel &#8222;39C3: Diverse L\u00fccken in GnuPG und anderen kryptografischen Werkzeugen&#8220; nur eingeschr\u00e4nkt verst\u00e4ndlich sei. Ich pflichte dem bei. Ich habe mir daher die Liste der m\u00f6glichen Schwachstellen von GPG zun\u00e4chst \u00fcbersetzen lassen. Das macht die Sache aber immer noch nicht besser. 1. Multiple Plaintext Attack on Detached [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21,31],"tags":[],"class_list":["post-63623","post","type-post","status-publish","format-standard","hentry","category-internet-and-computer","category-protect-your-privacy"],"_links":{"self":[{"href":"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/posts\/63623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/comments?post=63623"}],"version-history":[{"count":9,"href":"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/posts\/63623\/revisions"}],"predecessor-version":[{"id":63632,"href":"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/posts\/63623\/revisions\/63632"}],"wp:attachment":[{"href":"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/media?parent=63623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/categories?post=63623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.burks.de\/burksblog\/wp-json\/wp\/v2\/tags?post=63623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}