<?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://vulnerability.circl.lu</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 05:19:39 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-47719</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-47719</link>
      <description>&lt;p&gt;FUXA is a web-based Process Visualization (SCADA/HMI/Dashboard) software. Prior to 1.3.2, the DEVICE_WEBAPI_REQUEST and DEVICE_PROPERTY Socket.IO handlers in server/runtime/index.js omit isSocketWriteAuthorized and accept attacker-controlled property.address or endpoint connection data. A remote unauthenticated attacker can make server/runtime/devices/httprequest/index.js call axios.get against arbitrary HTTP or HTTPS destinations, connect to reachable OPC UA or ODBC services, and receive results through the corresponding Socket.IO event. This read SSRF oracle can expose cloud instance metadata, internal administrative services, industrial endpoints, and ODBC data reachable from the FUXA host, including when secureEnabled is true. This issue is fixed in version 1.3.2.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;FUXA is a web-based Process Visualization (SCADA/HMI/Dashboard) software. Prior to 1.3.2, the DEVICE_WEBAPI_REQUEST and DEVICE_PROPERTY Socket.IO handlers in server/runtime/index.js omit isSocketWriteAuthorized and accept attacker-controlled property.address or endpoint connection data. A remote unauthenticated attacker can make server/runtime/devices/httprequest/index.js call axios.get against arbitrary HTTP or HTTPS destinations, connect to reachable OPC UA or ODBC services, and receive results through the corresponding Socket.IO event. This read SSRF oracle can expose cloud instance metadata, internal administrative services, industrial endpoints, and ODBC data reachable from the FUXA host, including when secureEnabled is true. This issue is fixed in version 1.3.2.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-47719</guid>
    </item>
    <item>
      <title>GHSA-w86f-rf9w-h3x6 — FUXA: Unauthenticated SSRF via Socket.IO DEVICE_WEBAPI_REQUEST and DEVICE_PROPERTY with response reading</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-w86f-rf9w-h3x6</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: fuxa-server&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;An unauthenticated attacker (Alice) connects to FUXA&amp;#39;s Socket.IO endpoint and emits a `device-webapi-request` event whose `property.address` field names an arbitrary URL. FUXA&amp;#39;s `DEVICE_WEBAPI_REQUEST` handler at `server/runtime/index.js:296` calls `axios.get(address)` server-side and broadcasts the full response body back on the same event via `io.emit`. The companion handler `DEVICE_PROPERTY` at `server/runtime/index.js:153` has the same miss against OPC UA and ODBC endpoints. Both handlers skip the `isSocketWriteAuthorized()` check that the other write-capable events (`DEVICE_VALUES` at line 182, `DEVICE_ENABLE` at line 358) call. Alice reads cloud instance metadata, scans internal services, and connects to any OPC UA server or ODBC database the FUXA host can reach, then receives the results.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;**Vulnerable handlers**: `server/runtime/index.js:153-171, 296-316`:&lt;/p&gt;
&lt;p&gt;```javascript
socket.on(Events.IoEventTypes.DEVICE_PROPERTY, (message) =&amp;gt; {
    try {
        if (message &amp;amp;&amp;amp; message.endpoint &amp;amp;&amp;amp; message.type) {
            devices.getSupportedProperty(message.endpoint, message.type).then(result =&amp;gt; {
                message.result = result;
                io.emit(Events.IoEventTypes.DEVICE_PROPERTY, message);
            })
            // ...
        }
    }
    // ...
});&lt;/p&gt;
&lt;p&gt;socket.on(Events.IoEventTypes.DEVICE_WEBAPI_REQUEST, (message) =&amp;gt; {
    try {
        if (message &amp;amp;&amp;amp; message.property) {
            devices.getRequestResult(message.property).then(res…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: fuxa-server&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;An unauthenticated attacker (Alice) connects to FUXA&amp;#39;s Socket.IO endpoint and emits a `device-webapi-request` event whose `property.address` field names an arbitrary URL. FUXA&amp;#39;s `DEVICE_WEBAPI_REQUEST` handler at `server/runtime/index.js:296` calls `axios.get(address)` server-side and broadcasts the full response body back on the same event via `io.emit`. The companion handler `DEVICE_PROPERTY` at `server/runtime/index.js:153` has the same miss against OPC UA and ODBC endpoints. Both handlers skip the `isSocketWriteAuthorized()` check that the other write-capable events (`DEVICE_VALUES` at line 182, `DEVICE_ENABLE` at line 358) call. Alice reads cloud instance metadata, scans internal services, and connects to any OPC UA server or ODBC database the FUXA host can reach, then receives the results.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;**Vulnerable handlers**: `server/runtime/index.js:153-171, 296-316`:&lt;/p&gt;
&lt;p&gt;```javascript
socket.on(Events.IoEventTypes.DEVICE_PROPERTY, (message) =&amp;gt; {
    try {
        if (message &amp;amp;&amp;amp; message.endpoint &amp;amp;&amp;amp; message.type) {
            devices.getSupportedProperty(message.endpoint, message.type).then(result =&amp;gt; {
                message.result = result;
                io.emit(Events.IoEventTypes.DEVICE_PROPERTY, message);
            })
            // ...
        }
    }
    // ...
});&lt;/p&gt;
&lt;p&gt;socket.on(Events.IoEventTypes.DEVICE_WEBAPI_REQUEST, (message) =&amp;gt; {
    try {
        if (message &amp;amp;&amp;amp; message.property) {
            devices.getRequestResult(message.property).then(res…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-w86f-rf9w-h3x6</guid>
    </item>
  </channel>
</rss>
