{"id":1841,"date":"2021-07-25T17:59:39","date_gmt":"2021-07-25T15:59:39","guid":{"rendered":"https:\/\/ekiwi.de\/?p=1841"},"modified":"2021-07-27T20:43:27","modified_gmt":"2021-07-27T18:43:27","slug":"wordpress-ist-wp-json-wp-v2-users-eine-sicherheitsluecke-cve-2017-5487","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/1841\/wordpress-ist-wp-json-wp-v2-users-eine-sicherheitsluecke-cve-2017-5487\/","title":{"rendered":"WordPress: ist wp-json\/wp\/v2\/users eine Sicherheitsl\u00fccke? CVE-2017-5487"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ekiwi.de\/index.php\/1841\/wordpress-ist-wp-json-wp-v2-users-eine-sicherheitsluecke-cve-2017-5487\/#Deaktivieren_der_Funktion_ueber_die_Config-Datei\" >Deaktivieren der Funktion \u00fcber die Config-Datei<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ekiwi.de\/index.php\/1841\/wordpress-ist-wp-json-wp-v2-users-eine-sicherheitsluecke-cve-2017-5487\/#Deaktivierung_mit_Plugin\" >Deaktivierung mit Plugin<\/a><\/li><\/ul><\/nav><\/div>\n<p>Heute bekam ich mal wieder eine E-Mail. Eine Sicherheitsl\u00fccke in WordPress in unserem Blog.<\/p>\n<p><!--more--><\/p>\n<p>Es ist nicht das erste Mal, dass mir eine Sicherheitsl\u00fccke in WordPress in einem unserer Blogs <a href=\"https:\/\/ekiwi.de\/index.php\/1402\/openbugbounty-security-vulnerability-notification-was-steckt-dahinter\/\" target=\"_blank\" rel=\"noopener\">gemeldet wird<\/a>. In dem Fall wurde eine Standardfunktion von WordPress bem\u00e4ngelt, welche standardm\u00e4\u00dfig aktiv ist. In diesem Fall ist es wieder eine Standardfunktion, die JSON-Schnittstelle.<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/i2CToG5Rl2U\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>Die Vulnerability, wie es in Neudeutsch hei\u00dft, wird unsere der Bezeichnung <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2017-5487\" target=\"_blank\" rel=\"noopener\">CVE-2017-5487<\/a> gef\u00fchrt. Konkret wird bem\u00e4ngelt, dass unter der URL &#8222;wp-json\/wp\/v2\/users&#8220; Informationen zu den angemeldeten Benutzern des Blogs abfragbar sind.<\/p>\n<p>Dies ist in der Tat der Fall, ruft man die Seite auf, werden Informationen zu den Blogautoren angezeigt. Der Informationsgehalt variiert und h\u00e4ngt auch davon ab, welche Informationen im WordPress-Profil ausgef\u00fcllt sind. Benutzername, Webseite, Beschreibung ggf. noch der Link zum Gravatar.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/07\/rest_1.png\" alt=\"\" width=\"600\" height=\"379\" class=\"alignnone size-full wp-image-1842\" srcset=\"\/wp-content\/uploads\/2021\/07\/rest_1.png 600w, \/wp-content\/uploads\/2021\/07\/rest_1-300x190.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Grunds\u00e4tzlich sehe ich hier erstmal kein gesteigertes Risiko oder eine gro\u00dfe Sicherheitsl\u00fccke. Man liefert hier zwar die registrierten Benutzer des Blogs frei Haus, allerdings sind die Informationen auch \u00fcber den Besuch des Blogs erlangbar um diese dann f\u00fcr Login-Versuche oder \u00e4hnliche Schweinereien zu verwenden.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Deaktivieren_der_Funktion_ueber_die_Config-Datei\"><\/span>Deaktivieren der Funktion \u00fcber die Config-Datei<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Auch wenn die ganze Funktion kein Grund zur Panik ist, ist es schade, dass die Funktion nicht einfach deaktiviert werden kann. Allerdings geht die Deaktivierung recht leicht \u00fcber eine kleine Code-Zeile, z.b. in der &#8222;wp-config.php&#8220;:<\/p>\n<pre>\r\nremove_action('rest_api_init', 'create_initial_rest_routes', 99);\r\n<\/pre>\n<p>Die Zeile wird einfach am Ende eingef\u00fcgt:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/07\/rest_2.png\" alt=\"\" width=\"599\" height=\"199\" class=\"alignnone size-full wp-image-1843\" srcset=\"\/wp-content\/uploads\/2021\/07\/rest_2.png 599w, \/wp-content\/uploads\/2021\/07\/rest_2-300x100.png 300w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/p>\n<p>Anschlie\u00dfend erscheint ein 404-Fehler beim Aufruf der URL und die Daten sind nicht mehr abrufbar.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/07\/rest_3.png\" alt=\"\" width=\"802\" height=\"213\" class=\"alignnone size-full wp-image-1844\" srcset=\"\/wp-content\/uploads\/2021\/07\/rest_3.png 802w, \/wp-content\/uploads\/2021\/07\/rest_3-300x80.png 300w, \/wp-content\/uploads\/2021\/07\/rest_3-768x204.png 768w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Deaktivierung_mit_Plugin\"><\/span>Deaktivierung mit Plugin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Wer nicht in der Konfigurationsdatei von WordPress herumfummeln will, kann sich auch eines Plugins bedienen. Das Plugin hei\u00dft &#8222;Disable WP REST API&#8220;. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/07\/rest_4.png\" alt=\"\" width=\"801\" height=\"305\" class=\"alignnone size-full wp-image-1845\" srcset=\"\/wp-content\/uploads\/2021\/07\/rest_4.png 801w, \/wp-content\/uploads\/2021\/07\/rest_4-300x114.png 300w, \/wp-content\/uploads\/2021\/07\/rest_4-768x292.png 768w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><\/p>\n<p>Nach der Installation ist der Aufruf der Seite f\u00fcr nicht eingeloggte Benutzer nicht mehr m\u00f6glich. F\u00fcr den Test ausloggen oder einfach den privaten Modus des Browsers verwenden.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/07\/rest_5.png\" alt=\"\" width=\"799\" height=\"142\" class=\"alignnone size-full wp-image-1846\" srcset=\"\/wp-content\/uploads\/2021\/07\/rest_5.png 799w, \/wp-content\/uploads\/2021\/07\/rest_5-300x53.png 300w, \/wp-content\/uploads\/2021\/07\/rest_5-768x136.png 768w\" sizes=\"auto, (max-width: 799px) 100vw, 799px\" \/><\/p>","protected":false},"excerpt":{"rendered":"<p>Heute bekam ich mal wieder eine E-Mail. Eine Sicherheitsl\u00fccke in WordPress in unserem Blog.<\/p>\n","protected":false},"author":1,"featured_media":278,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[51],"tags":[132,52],"class_list":["post-1841","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-sicherheit","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/1841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=1841"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/1841\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/278"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=1841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=1841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=1841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}