<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Wed, 07 Oct 2026 12:03:50 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-12048 — pgAdmin 4: Stored XSS via untrusted error and plan-node text rendered through html-react-parser</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-12048</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pgadmin.org pgAdmin 4&lt;/p&gt;
&lt;p&gt;Stored cross-site scripting in pgAdmin 4&amp;#39;s error-rendering and plan-node-rendering paths. Text returned by a PostgreSQL server (ErrorResponse messages, including object names quoted back inside relation-does-not-exist errors and inside EXPLAIN Recheck Cond / Exact Heap Blocks fields) was passed verbatim through html-react-parser at every user-facing sink — the notifier toasts, FormFooterMessage / FormInput help and error areas, FormNote, ModalProvider AlertContent and confirmDelete, ToolErrorView, the Explain visualiser&amp;#39;s NodeText panel, the SQL editor confirm dialogs, ConfirmSaveContent, PreferencesHelper modal alerts, and SelectThemes helper text. A PostgreSQL server an attacker controls — or any server returning attacker-influenced text such as a table or column name a low-privilege database user can create — could inject arbitrary HTML (including &amp;lt;iframe&amp;gt;) into the pgAdmin DOM the moment the victim&amp;#39;s pgAdmin connected to that server or viewed an Explain plan that referenced the crafted object.&lt;/p&gt;
&lt;p&gt;The injected iframe&amp;#39;s srcdoc could fetch attacker-served JavaScript and, by writing to parent.location, redirect the victim&amp;#39;s top-level pgAdmin browser tab to an attacker-controlled URL. Because the injection originates from inside pgAdmin&amp;#39;s own interface, standard anti-clickjacking controls (X-Frame-Options, Content-Security-Policy: frame-ancestors) do not mitigate it. A phishing page rendered inside the legitimate pgAdmin window is indistinguishable from a genuine pgAdmin dialog…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pgadmin.org pgAdmin 4&lt;/p&gt;
&lt;p&gt;Stored cross-site scripting in pgAdmin 4&amp;#39;s error-rendering and plan-node-rendering paths. Text returned by a PostgreSQL server (ErrorResponse messages, including object names quoted back inside relation-does-not-exist errors and inside EXPLAIN Recheck Cond / Exact Heap Blocks fields) was passed verbatim through html-react-parser at every user-facing sink — the notifier toasts, FormFooterMessage / FormInput help and error areas, FormNote, ModalProvider AlertContent and confirmDelete, ToolErrorView, the Explain visualiser&amp;#39;s NodeText panel, the SQL editor confirm dialogs, ConfirmSaveContent, PreferencesHelper modal alerts, and SelectThemes helper text. A PostgreSQL server an attacker controls — or any server returning attacker-influenced text such as a table or column name a low-privilege database user can create — could inject arbitrary HTML (including &amp;lt;iframe&amp;gt;) into the pgAdmin DOM the moment the victim&amp;#39;s pgAdmin connected to that server or viewed an Explain plan that referenced the crafted object.&lt;/p&gt;
&lt;p&gt;The injected iframe&amp;#39;s srcdoc could fetch attacker-served JavaScript and, by writing to parent.location, redirect the victim&amp;#39;s top-level pgAdmin browser tab to an attacker-controlled URL. Because the injection originates from inside pgAdmin&amp;#39;s own interface, standard anti-clickjacking controls (X-Frame-Options, Content-Security-Policy: frame-ancestors) do not mitigate it. A phishing page rendered inside the legitimate pgAdmin window is indistinguishable from a genuine pgAdmin dialog…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-12048</guid>
    </item>
  </channel>
</rss>
