{"id":24793,"date":"2026-01-19T16:30:00","date_gmt":"2026-01-19T15:30:00","guid":{"rendered":"https:\/\/herolab.usd.de\/?page_id=24793"},"modified":"2026-01-22T14:58:37","modified_gmt":"2026-01-22T13:58:37","slug":"usd-2025-0039","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2025-0039\/","title":{"rendered":"usd-2025-0039"},"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.25.2\" _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.27.5\" _module_preset=\"default\" custom_padding=\"||13px|||\" global_colors_info=\"{}\"]<\/p>\n<h1>usd-2025-39 | PRTG Network Monitor 25.2.108 - Reflected XSS<\/h1>\n<h1><\/h1>\n<p><strong>Product<\/strong>: PRTG Network Monitor<br \/><strong>Affected Version<\/strong>: &lt;25.2.108<br \/><strong>Vulnerability Type<\/strong>: Cross-Site Scripting (CWE-79)<br \/><strong>Security Risk<\/strong>: Medium<br \/><strong>Vendor<\/strong>: Paessler<br \/><strong>Vendor URL<\/strong>: <a href=\"https:\/\/www.paessler.com\/de\" target=\"_blank\" rel=\"noopener\">https:\/\/www.paessler.com\/de<\/a><br \/><strong>Vendor acknowledged vulnerability<\/strong>: Yes<br \/><strong>Vendor Status<\/strong>: Fixed<br \/><strong>CVE Number<\/strong>: CVE-2025-67834<br \/><strong>CVE Link<\/strong>: <a href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2025-67834\" target=\"_blank\" rel=\"noopener\">https:\/\/www.cve.org\/CVERecord?id=CVE-2025-67834<\/a><br \/><strong>Advisory ID<\/strong>: usd-2025-39<\/p>\n<h3>Description<\/h3>\n<p>The application does not properly encode or filter user-supplied data, which allows reflective injection of JavaScript code.<\/p>\n<p>This occurs when the web server embeds input containing JavaScript into HTTP responses without sufficient encoding.<br \/>The input is not persistently stored but only temporarily reflected and executed within the browsing context of the user.<br \/>To perform a reflected XSS attack, an attacker has to induce the victim to issue a malicious request, for example by providing a prepared link.<\/p>\n<p>A reflected XSS vulnerability can be exploited in various ways.<br \/>A common attack is to steal sensitive information from the user and secretly transmit it to the attackers.<br \/>Alternatively, attackers can perform actions with the permissions of the user.<\/p>\n<h3>Proof of Concept<\/h3>\n<p>The search for sensors with a specific tag is vulnerable for reflected cross-site scripting (XSS) attacks, allowing users to inject malicious JavaScript code into the website.<\/p>\n<p>This vulnerability could be exploited by inducing administrators to click on malicious links to craft malicious links that, if the payload is successfully triggered, could lead to attackers stealing the administrator''s session cookie or performing administrative actions.<br \/>Attackers could utilize techniques such as phishing to persuade a user to click on a malicious link.<\/p>\n<p>Obtaining a user's session cookie however is only possible if the cookie's HttpOnly flag is not set.<\/p>\n<p>The following link shows an example of malicious link that exploits this vulnerability.<br \/>In this case, the payload <strong><\/strong><\/p>\n<p><strong>alert(document.domain)<\/strong><\/p>\n<p>is inserted into the website, which opens a popup with the user's session cookie.<\/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\">[<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">https:\/\/[REDACTED<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">]\/<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">sensors<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">.<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">htm<\/span><span class=\"vm\" style=\"background: #263238;color: #82aaff\">?<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">filter_tags<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">=<\/span><span class=\"nv\" style=\"background: #263238;color: #89ddff\">@tag<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">(<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">%<\/span><span class=\"mi\" style=\"background: #263238;color: #f78c6c\">3<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">Cscript<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">%<\/span><span class=\"mi\" style=\"background: #263238;color: #f78c6c\">3<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">Ealert<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">(<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">document<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">.<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">cookie<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">)<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">%<\/span><span class=\"mi\" style=\"background: #263238;color: #f78c6c\">3<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">C<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">\/<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">script<\/span><span class=\"o\" style=\"background: #263238;color: #89ddff\">%<\/span><span class=\"mi\" style=\"background: #263238;color: #f78c6c\">3<\/span><span class=\"n\" style=\"background: #263238;color: #eff\">E<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">)<\/span><span class=\"err\" style=\"background: #263238;color: #ff5370\">]<\/span><span class=\"p\" style=\"background: #263238;color: #89ddff\">()<\/span><\/pre>\n<\/div>\n<p>The following screenshot shows how the injected JavaScript code opens a popup.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2026\/01\/reflected-xss-in-tag-search.png\" width=\"1087\" height=\"566\" alt=\"\" class=\"wp-image-24790 alignnone size-full\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2026\/01\/reflected-xss-in-tag-search.png 1087w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2026\/01\/reflected-xss-in-tag-search-980x510.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2026\/01\/reflected-xss-in-tag-search-480x250.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1087px, 100vw\" \/><\/p>\n<h3>Fix<\/h3>\n<p>It is recommended to treat all input on the website as potentially dangerous.<\/p>\n<p>Invalid values should not be sanitized and forwarded to the application, but instead rejected.<br \/>To achieve this, all input should be validated on the server-side.<br \/>Where possible, a list of allowed characters should be defined.<br \/>The more restrictive a filter can be specified, the better the protection it provides.<br \/>Allowlists are especially recommended if input values have a well defined format or a list of valid input values exists.<\/p>\n<p>Additionally, all output that is dynamically generated based on user-controlled data should be encoded according to its context.<br \/>The majority of programming languages support standard procedures for encoding meta characters.<\/p>\n<p>Further details on how to prevent XSS vulnerabilities can be obtained in the XSS Prevention Cheat Sheet by OWASP.<\/p>\n<h3>References<\/h3>\n<ul>\n<li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/xss\/\" target=\"_blank\" rel=\"noopener\">https:\/\/owasp.org\/www-community\/attacks\/xss\/<\/a><\/li>\n<li><a href=\"https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Cross_Site_Scripting_Prevention_Cheat_Sheet\" target=\"_blank\" rel=\"noopener\">https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Cross_Site_Scripting_Prevention_Cheat_Sheet<\/a><\/li>\n<\/ul>\n<h3>Timeline<\/h3>\n<ul>\n<li><strong>2025-09-12<\/strong>: Vulnerabilities reported to Paessler.<\/li>\n<li><strong>2025-11-29<\/strong>: Release of PRTG version 25.4.114.1032.<\/li>\n<li><strong>2025-12-17<\/strong>: PRTG Hosted Monitor is upgraded to PRTG version 25.4.114.1032.<\/li>\n<li><strong>2026-01-13<\/strong>: Public disclosure of this vulnerability.<\/li>\n<\/ul>\n<h3>Credits<\/h3>\n<p>This security vulnerability was identified by Simon Kurz and Tobias Hennhoefer 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-2025-39 | PRTG Network Monitor 25.2.108 - Reflected XSS Product: PRTG Network MonitorAffected Version: &lt;25.2.108Vulnerability Type: Cross-Site Scripting (CWE-79)Security Risk: MediumVendor: PaesslerVendor URL: https:\/\/www.paessler.com\/deVendor acknowledged vulnerability: YesVendor Status: FixedCVE Number: CVE-2025-67834CVE Link: https:\/\/www.cve.org\/CVERecord?id=CVE-2025-67834Advisory ID: usd-2025-39 Description The application does not properly encode or filter user-supplied data, which allows reflective injection of JavaScript code. This occurs [&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-24793","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/24793","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=24793"}],"version-history":[{"count":5,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/24793\/revisions"}],"predecessor-version":[{"id":24861,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/24793\/revisions\/24861"}],"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=24793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}