Security Alert: Critical Remote Code Execution (RCE) Vulnerability in [Input Field/Module Name] #14862

Closed
opened 2026-02-21 19:19:07 -05:00 by yindo · 2 comments
Owner

Originally created by @v-49 on GitHub (Jun 24, 2025).

Self Checks

  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
  • [FOR CHINESE USERS] 请务必使用英文提交 Issue,否则会被关闭。谢谢!:)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

v.1.3.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

Image

Image

✔️ Expected Behavior

The application should treat the entire input string as plain text data. The input should be safely sanitized, escaped, and stored, or it should be rejected with a clear validation error message if it's deemed invalid.

Under no circumstances should the application attempt to execute any part of the user-provided string as server-side code. The application should remain responsive and functional regardless of the input's content.

Actual Behavior

Upon submission, the application completely hangs and becomes unresponsive. The browser tab freezes, often showing a loading spinner indefinitely. The application does not recover on its own.

The only way to restore functionality is to manually perform a hard refresh of the entire webpage (e.g., by pressing F5 or Ctrl+R).

This behavior indicates a catastrophic failure on the backend. The server is not only interpreting the input string as code but is executing a command that blocks its worker thread indefinitely (due to the infinite loop). This prevents the server from ever sending a response, causing the user's browser to hang while waiting for a request that will never complete.

This is a critical Remote Code Execution (RCE) vulnerability with an immediate Denial of Service (DoS) impact. It allows any user to render the application unusable for themselves and potentially exhaust server resources, impacting other users. An attacker could leverage this RCE to execute far more malicious commands, such as stealing data, accessing the filesystem, or compromising the entire server.

Originally created by @v-49 on GitHub (Jun 24, 2025). ### Self Checks - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report (我已阅读并同意 [Language Policy](https://github.com/langgenius/dify/issues/1542)). - [x] [FOR CHINESE USERS] 请务必使用英文提交 Issue,否则会被关闭。谢谢!:) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version v.1.3.1 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce ![Image](https://github.com/user-attachments/assets/fe35d82b-9e01-4b88-8f0a-331281a1d7bb) ![Image](https://github.com/user-attachments/assets/7aa548ff-4585-4cb3-8800-0f800d748ed8) ### ✔️ Expected Behavior The application should treat the entire input string as plain text data. The input should be safely sanitized, escaped, and stored, or it should be rejected with a clear validation error message if it's deemed invalid. Under no circumstances should the application attempt to execute any part of the user-provided string as server-side code. The application should remain responsive and functional regardless of the input's content. ### ❌ Actual Behavior Upon submission, the application completely hangs and becomes unresponsive. The browser tab freezes, often showing a loading spinner indefinitely. The application does not recover on its own. The only way to restore functionality is to manually perform a hard refresh of the entire webpage (e.g., by pressing F5 or Ctrl+R). This behavior indicates a catastrophic failure on the backend. The server is not only interpreting the input string as code but is executing a command that blocks its worker thread indefinitely (due to the infinite loop). This prevents the server from ever sending a response, causing the user's browser to hang while waiting for a request that will never complete. This is a critical Remote Code Execution (RCE) vulnerability with an immediate Denial of Service (DoS) impact. It allows any user to render the application unusable for themselves and potentially exhaust server resources, impacting other users. An attacker could leverage this RCE to execute far more malicious commands, such as stealing data, accessing the filesystem, or compromising the entire server.
yindo added the 🌚 invalid label 2026-02-21 19:19:07 -05:00
yindo closed this issue 2026-02-21 19:19:07 -05:00
Author
Owner

@crazywoola commented on GitHub (Jun 24, 2025):

Can you provide the source code in the CODE node or the DSL?

@crazywoola commented on GitHub (Jun 24, 2025): Can you provide the source code in the CODE node or the DSL?
Author
Owner

@laipz8200 commented on GitHub (Jun 25, 2025):

Hi @v-49. We do not execute any user-submitted code on Dify's servers. If you would like to report a security issue, please provide a detailed proof of concept and submit it through GitHub Security.

@laipz8200 commented on GitHub (Jun 25, 2025): Hi @v-49. We do not execute any user-submitted code on Dify's servers. If you would like to report a security issue, please provide a detailed proof of concept and submit it through GitHub Security.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#14862