<?xml version="1.0" encoding="UTF-8"?>
<VrdaData refvuldefversion="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://vrda.jpcert.or.jp" xsi:schemaLocation="http://vrda.jpcert.or.jp/feed/xsd/vrda_data.xsd">
  <VrdaDataProvider>
    <Name>JVN iPedia</Name>
    <URL>http://jvndb.jvn.jp</URL>
  </VrdaDataProvider>
  <VrdaDataSourceType>Advisory</VrdaDataSourceType>
  <Vulinfo revisionno="1" lang="ja" invalidated="false">
    <VulinfoID>JVNDB-2026-027062</VulinfoID>
    <VulinfoData>
      <Title>pgAdmin Project&#12398;pgAdmin 4&#12395;&#12362;&#12369;&#12427;&#35079;&#25968;&#12398;&#33030;&#24369;&#24615;</Title>
      <VulinfoDescription>
        <Overview>pgAdmin 4 9.16&#12391;&#12398;CVE-2026-12045&#12398;&#20462;&#27491;&#12391;&#12399;&#12289;AI&#12450;&#12471;&#12473;&#12479;&#12531;&#12488;&#12398;execute_sql_query&#12484;&#12540;&#12523;&#12395;&#28193;&#12373;&#12428;&#12427;&#12289;LLM&#12363;&#12425;&#25552;&#20379;&#12373;&#12428;&#12383;&#12463;&#12456;&#12522;&#12364;sqlparse&#12395;&#12424;&#12387;&#12390;&#12488;&#12521;&#12531;&#12470;&#12463;&#12471;&#12519;&#12531;&#21046;&#24481;&#25991;&#12391;&#12399;&#12394;&#12356;&#21336;&#19968;&#12398;&#25991;&#12392;&#12375;&#12390;&#27491;&#30906;&#12395;&#35299;&#26512;&#12373;&#12428;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12289;&#12381;&#12428;&#12434;BEGIN TRANSACTION READ ONLY&#12521;&#12483;&#12497;&#12540;&#20869;&#12391;&#23455;&#34892;&#12375;&#12390;&#12356;&#12414;&#12375;&#12383;&#12290;&#12375;&#12363;&#12375;&#12289;sqlparse&#12398;&#25991;&#23383;&#21015;&#12522;&#12486;&#12521;&#12523;&#12398;&#23383;&#21477;&#35299;&#26512;&#12399;PostgreSQL&#33258;&#36523;&#12398;&#12497;&#12540;&#12469;&#12540;&#12392;&#30064;&#12394;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#27161;&#28310;&#28310;&#25312;&#25991;&#23383;&#21015;&#65288;standard_conforming_strings&#65289;&#12364;on&#65288;PostgreSQL 9.1&#20197;&#38477;&#12398;&#12487;&#12501;&#12457;&#12523;&#12488;&#65289;&#12398;&#22580;&#21512;&#12289;&#12463;&#12457;&#12540;&#12488;&#30452;&#21069;&#12398;&#12496;&#12483;&#12463;&#12473;&#12521;&#12483;&#12471;&#12517;&#12399;PostgreSQL&#12395;&#12392;&#12387;&#12390;&#21336;&#12394;&#12427;&#25991;&#23383;&#12391;&#12377;&#12364;&#12289;sqlparse&#12399;&#12381;&#12428;&#12434;&#12463;&#12457;&#12540;&#12488;&#12398;&#12456;&#12473;&#12465;&#12540;&#12503;&#12392;&#12415;&#12394;&#12375;&#12414;&#12377;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;SELECT '\';COMMIT;CREATE TABLE pwn(x int);SELECT 1 --' &#12398;&#12424;&#12358;&#12394;&#12506;&#12452;&#12525;&#12540;&#12489;&#12399;sqlparse&#12398;&#12496;&#12522;&#12487;&#12540;&#12479;&#12395;&#12399;&#21336;&#19968;&#12398;SELECT&#25991;&#12392;&#12375;&#12390;&#35299;&#26512;&#12373;&#12428;&#12414;&#12377;&#12364;&#12289;PostgreSQL&#12391;&#12399;&#12371;&#12428;&#12364;4&#12388;&#12398;&#25991;&#12392;&#12375;&#12390;&#23455;&#34892;&#12373;&#12428;&#12414;&#12377;&#12290;&#38560;&#12373;&#12428;&#12383;COMMIT&#12395;&#12424;&#12387;&#12390;&#35501;&#12415;&#21462;&#12426;&#23554;&#29992;&#12488;&#12521;&#12531;&#12470;&#12463;&#12471;&#12519;&#12531;&#12364;&#32066;&#20102;&#12375;&#12289;&#24460;&#32154;&#12398;ROLLBACK&#12399;&#28961;&#21177;&#12392;&#12394;&#12426;&#12414;&#12377;&#12290;&#12371;&#12428;&#12395;&#12424;&#12426;&#12289;CVE-2026-12045&#12391;&#23550;&#31574;&#12373;&#12428;&#12383;&#26360;&#12365;&#36796;&#12415;/RCE&#22238;&#36991;&#12364;&#20877;&#29694;&#12373;&#12428;&#12289;&#21516;&#12376;&#38291;&#25509;&#30340;&#12503;&#12525;&#12531;&#12503;&#12488;&#12452;&#12531;&#12472;&#12455;&#12463;&#12471;&#12519;&#12531;&#12398;&#25163;&#27861;&#65288;&#25915;&#25731;&#32773;&#12364;AI&#12450;&#12471;&#12473;&#12479;&#12531;&#12488;&#12364;&#35501;&#12415;&#21462;&#12428;&#12427;&#20219;&#24847;&#12398;&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12395;&#12506;&#12452;&#12525;&#12540;&#12489;&#12434;&#26893;&#12360;&#20184;&#12369;&#12289;LLM&#12364;&#12381;&#12428;&#12434;&#12484;&#12540;&#12523;&#21628;&#12403;&#20986;&#12375;&#12392;&#12375;&#12390;&#20986;&#21147;&#12377;&#12427;&#26041;&#27861;&#65289;&#12391;&#24746;&#29992;&#21487;&#33021;&#12392;&#12394;&#12426;&#12414;&#12377;&#12290;&#21021;&#26399;&#12398;&#20462;&#27491;&#26696;&#12391;&#12399;psycopg&#12398;execute(..., prepare=True)&#12434;&#20351;&#29992;&#12375;&#12289;sqlparse&#12398;&#20998;&#39006;&#12395;&#12363;&#12363;&#12431;&#12425;&#12378;PostgreSQL&#12398;Parse&#12473;&#12486;&#12483;&#12503;&#65288;&#25313;&#24373;&#12463;&#12456;&#12522;&#12503;&#12525;&#12488;&#12467;&#12523;&#65289;&#12395;&#12424;&#12426;&#35079;&#25968;&#25991;&#12434;&#25298;&#21542;&#12375;&#12424;&#12358;&#12392;&#12375;&#12414;&#12375;&#12383;&#12290;&#12375;&#12363;&#12375;&#12289;&#12371;&#12398;&#20462;&#27491;&#26696;&#12399;&#26399;&#24453;&#12393;&#12362;&#12426;&#12395;&#27231;&#33021;&#12375;&#12414;&#12379;&#12435;&#12391;&#12375;&#12383;&#12290;psycopg3&#12398;PrepareManager&#12399;&#25509;&#32154;&#12398;prepare_threshold&#12364;None&#65288;pgAdmin&#12391;&#12399;&#12377;&#12409;&#12390;&#12398;&#12469;&#12540;&#12496;&#12540;&#25509;&#32154;&#12391;&#12487;&#12501;&#12457;&#12523;&#12488;&#65289;&#12391;&#12354;&#12428;&#12400;prepare&#24341;&#25968;&#12434;&#28961;&#35222;&#12375;&#12289;&#21336;&#32020;&#12463;&#12456;&#12522;&#12503;&#12525;&#12488;&#12467;&#12523;&#12395;&#12501;&#12457;&#12540;&#12523;&#12496;&#12483;&#12463;&#12375;&#12414;&#12377;&#12290;&#12371;&#12398;&#21336;&#32020;&#12463;&#12456;&#12522;&#12503;&#12525;&#12488;&#12467;&#12523;&#12399;&#22238;&#36991;&#12434;&#21487;&#33021;&#12395;&#12377;&#12427;&#35079;&#25968;&#25991;&#23550;&#24540;&#32076;&#36335;&#12391;&#12354;&#12427;&#12383;&#12417;&#12289;&#12371;&#12398;&#20462;&#27491;&#26696;&#12391;&#12399;&#29694;&#23455;&#12398;&#12487;&#12501;&#12457;&#12523;&#12488;&#27083;&#25104;&#12391;&#12399;&#23550;&#31574;&#12391;&#12365;&#12414;&#12379;&#12435;&#12391;&#12375;&#12383;&#12290;&#26368;&#32066;&#30340;&#12394;&#20462;&#27491;&#12391;&#12399;&#12289;AI&#12450;&#12471;&#12473;&#12479;&#12531;&#12488;&#12484;&#12540;&#12523;&#12364;&#38283;&#12367;&#23554;&#29992;&#12398;&#20351;&#12356;&#25448;&#12390;&#35501;&#12415;&#21462;&#12426;&#23554;&#29992;&#25509;&#32154;&#12395;&#23550;&#12375;&#12390;conn.prepare_threshold = 0&#12434;&#30452;&#25509;&#35373;&#23450;&#12375;&#12289;&#12469;&#12540;&#12496;&#12540;&#12524;&#12505;&#12523;&#12398;&#35373;&#23450;&#12395;&#20381;&#23384;&#12379;&#12378;&#24375;&#21046;&#30340;&#12395;&#25313;&#24373;&#12463;&#12456;&#12522;&#12503;&#12525;&#12488;&#12467;&#12523;&#12434;&#21033;&#29992;&#12373;&#12379;&#12414;&#12377;&#12290;PostgreSQL 18&#12398;&#23455;&#29872;&#22659;&#12391;&#26908;&#35388;&#12375;&#12383;&#32080;&#26524;&#12289;prepare_threshold=None&#65288;&#12487;&#12501;&#12457;&#12523;&#12488;&#65289;&#12398;&#22580;&#21512;&#12399;&#12506;&#12452;&#12525;&#12540;&#12489;&#12364;&#25104;&#21151;&#12375;&#12390;&#23455;&#34892;&#12373;&#12428;&#12414;&#12375;&#12383;&#12364;&#12289;prepare_threshold=0&#12434;&#35373;&#23450;&#12377;&#12427;&#12392;&#12300;&#28310;&#20633;&#28168;&#12415;&#12473;&#12486;&#12540;&#12488;&#12513;&#12531;&#12488;&#12395;&#35079;&#25968;&#12467;&#12510;&#12531;&#12489;&#12434;&#25407;&#20837;&#12391;&#12365;&#12414;&#12379;&#12435;&#12301;&#12392;&#12375;&#12390;&#25298;&#21542;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;&#26412;&#21839;&#38988;&#12399;pgAdmin 4&#12398;9.13&#12363;&#12425;9.17&#26410;&#28288;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#24433;&#38911;&#12434;&#21450;&#12412;&#12375;&#12414;&#12377;&#12290;</Overview>
      </VulinfoDescription>
      <Affected>
        <AffectedItem affectedstatus="vulnerable">
          <Lapt>cpe:/a:pgadmin:pgadmin_4</Lapt>
        </AffectedItem>
      </Affected>
      <FactAnalysis>
      </FactAnalysis>
      <Related>
        <RelatedItem relationtype="self" origin="jvnipedia">
          <URL>https://jvndb.jvn.jp/ja/contents/2026/JVNDB-2026-027062.html</URL>
        </RelatedItem>
        <RelatedItem relationtype="alternate" origin="other">
          <Name>Common Vulnerabilities and Exposures (CVE)</Name>
          <VulinfoID>CVE-2026-17351</VulinfoID>
          <URL>https://www.cve.org/CVERecord?id=CVE-2026-17351</URL>
        </RelatedItem>
        <RelatedItem relationtype="alternate" origin="other">
          <Name>National Vulnerability Database (NVD)</Name>
          <VulinfoID>CVE-2026-17351</VulinfoID>
          <URL>https://nvd.nist.gov/vuln/detail/CVE-2026-17351</URL>
        </RelatedItem>
        <RelatedItem relationtype="reference" origin="other">
          <Name>GitHub</Name>
          <VulinfoID>AI Assistant read-only transaction bypass via sqlparse/PostgreSQL lexer disagreement (CVE-2026-17351)  Issue #10192  pgadmin-org/pgadmin4</VulinfoID>
          <URL>https://github.com/pgadmin-org/pgadmin4/issues/10192</URL>
        </RelatedItem>
        <RelatedItem relationtype="reference" origin="other">
          <Name>JVNDB</Name>
          <VulinfoID>CWE-89</VulinfoID>
          <Title>SQL&#12452;&#12531;&#12472;&#12455;&#12463;&#12471;&#12519;&#12531;</Title>
          <URL>https://jvndb.jvn.jp/ja/cwe/CWE-89.html</URL>
        </RelatedItem>
        <RelatedItem relationtype="reference" origin="other">
          <Name>JVNDB</Name>
          <VulinfoID>CWE-115</VulinfoID>
          <Title>&#20837;&#21147;&#12398;&#35492;&#12387;&#12383;&#35299;&#37320;</Title>
          <URL>https://cwe.mitre.org/data/definitions/115.html</URL>
        </RelatedItem>
        <RelatedItem relationtype="reference" origin="other">
          <Name>&#38306;&#36899;&#25991;&#26360;</Name>
          <VulinfoID>fix(llm):  close lexer-differential bypass in AI Assistant read-only &#8230;  pgadmin-org/pgadmin4@ef76102  GitHub</VulinfoID>
          <URL>https://github.com/pgadmin-org/pgadmin4/commit/ef76102bcd1cdb544eb9b4ef18d3382f22b76752</URL>
        </RelatedItem>
        <RelatedItem relationtype="reference" origin="other">
          <Name>&#38306;&#36899;&#25991;&#26360;</Name>
          <VulinfoID>fix(llm): reject multi-statement and non-read-only AI assistant queries  pgadmin-org/pgadmin4@bf47924  GitHub</VulinfoID>
          <URL>https://github.com/pgadmin-org/pgadmin4/commit/bf4792444446f0e7ab721d23cbd6bfe6afaa7a8b</URL>
        </RelatedItem>
      </Related>
      <DateFirstPublished>2026-08-06T14:35:14+09:00</DateFirstPublished>
      <DateLastUpdated>2026-08-06T14:35:14+09:00</DateLastUpdated>
    </VulinfoData>
  </Vulinfo>
</VrdaData>
