Langflow – ಅಂದರೆ ડેವಲಪರ್ಗಳು LLM ಪ್ರಾಂಪ್ಟ್ಗಳು, ಡೇಟಾ ಮೂಲಗಳು ಮತ್ತು ಕಸ್ಟಮ್ Python ಕೋಡ್ಗಳನ್ನು ಒಟ್ಟಿಗೆ ಜೋಡಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುವ ಮುಕ್ತ ಮೂಲ (open-source) ಪ್ಲಾಟ್ಫಾರ್ಮ್ – ಇದರಲ್ಲಿ ಒಂದು ಗಂಭೀರ ದೋಷವಿದೆ. ಇದು ಯಾವುದೇ ವ್ಯಕ್ತಿಯು ದುರ್ಬಲ ಸರ್ವರ್ನಲ್ಲಿ ಯಾವುದೇ Python ಕೋಡ್ ಅನ್ನು ಚಲಾಯಿಸಲು ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. CVSS ಸ್ಕೇಲ್ನಲ್ಲಿ 9.8 ರೇಟಿಂಗ್ ಹೊಂದಿರುವ CVE-2026-33017, 1.9.0 ಕ್ಕಿಂತ ಹಿಂದಿನ ಎಲ್ಲಾ ಆವೃತ್ತಿಗಳನ್ನು ಬಾಧಿಸುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ದೃಢೀಕರಣವಿಲ್ಲದೆಯೇ (without authentication) ಇದನ್ನು ಪ್ರಚೋದಿಸಬಹುದು. ಇದರಿಂದಾಗಿ ಆಪರೇಟರ್ಗಳು ತಕ್ಷಣವೇ ಅಪ್ಗ್ರೇಡ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಅಥವಾ “public flow” ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಕಾಗುತ್ತದೆ.
ಈ ಬಗ್ ಏನು ಮಾಡುತ್ತದೆ
Langflow ನ public-flow ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ಲಾಗಿನ್ ಆಗದೆಯೇ ಯಾರೇ ಬೇಕಾದರೂ ಪ್ರಯತ್ನಿಸಬಹುದಾದ ಡೆಮೊ-ಶೈಲಿ ಚಾಟ್ಬಾಟ್ಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿತ್ತು. ಈ ಎಂಡ್ಪಾಯಿಂಟ್ ರಿಕ್ವೆಸ್ಟ್ ಬಾಡಿಯಲ್ಲಿರುವ data ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ಪೇಲೋಡ್ನಲ್ಲಿ ಸುರಕ್ಷಿತ ಫ್ಲೋ ವ್ಯಾಖ್ಯಾನವಿದೆ ಎಂದು ಭಾವಿಸುತ್ತದೆ ಮತ್ತು ನಂತರ ಆ ವಿಷಯವನ್ನು ನೇರವಾಗಿ Python ನ ಬಿಲ್ಟ್-ಇನ್ exec() ಫಂಕ್ಷನ್ಗೆ ನೀಡುತ್ತದೆ. exec() ಆ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಕೋಡ್ ಆಗಿ ಮೌಲ್ಯಮಾಪನ ಮಾಡುತ್ತದೆ ಮತ್ತು Langflow ಪ್ರಕ್ರಿಯೆಯಷ್ಟೇ ಅಧಿಕಾರಗಳೊಂದಿಗೆ ಅದನ್ನು ಚಲಾಯಿಸುತ್ತದೆ.
ಹ್ಯಾಕರ್ ಅಥವಾ ದಾಳಿಕೋರನಿಗೆ ಕೇವಲ public flow ನ ID ಬೇಕಾಗುತ್ತದೆ – ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಹಂಚಿಕೆಯ URLಗಳಲ್ಲಿ ತೋರಿಸಲಾಗುವ ಮೌಲ್ಯವಾಗಿದೆ – ಇದರ ಮೂಲಕ ದುರುದ್ದೇಶಪೂರಿತ ಫ್ಲೋ ವ್ಯಾಖ್ಯಾನವನ್ನು ಬದಲಿಸುವ ರಿಕ್ವೆಸ್ಟ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಬಹುದು. ಸರ್ವರ್ ಆ ರಿಕ್ವೆಸ್ಟ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದಾಗ, ಇಂಜೆಕ್ಟ್ ಮಾಡಲಾದ Python ತಕ್ಷಣವೇ ಚಲಿಸುತ್ತದೆ, ಇದು ದಾಳಿಕೋರನಿಗೆ ಹೋಸ್ಟ್ ಸಿಸ್ಟಮ್ ಮೇಲೆ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ನೀಡುತ್ತದೆ.
ಈ ದುರ್ಬಲತೆಯು ಹೇಗೆ ತಪ್ಪಿಹೋಯಿತು
ಹಿಂದಿನ ಬಿಡುಗಡೆಗಳಲ್ಲಿ, data ಫೀಲ್ಡ್ ಇದ್ದಾಗ ಡೇಟಾಬೇಸ್ನಿಂದ ಫ್ಲೋ ಅನ್ನು ಲೋಡ್ ಮಾಡುವ ಕೋಡ್ ಪಾತ್ ಅನ್ನು ಬೈಪಾಸ್ ಮಾಡಲಾಗುತ್ತಿತ್ತು. ಪೇಲೋಡ್ ಅನ್ನು ಸ್ಯಾನಿಟೈಸ್ (sanitising) ಅಥವಾ ವ್ಯಾಲಿಡೇಟ್ ಮಾಡುವ ಬದಲು, ಸರ್ವರ್ ಕರೆಯನ್ನು (caller) ನಂಬಿ ಅದನ್ನು ಅಕ್ಷರಶಃ ಚಲಾಯಿಸುತ್ತಿತ್ತು. ಈ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಯಾವುದೇ ಲಾಗಿನ್ ಇಲ್ಲದೆ ತಲುಪಲು ಸಾಧ್ಯವಿರುವುದರಿಂದ, public flows ಸಕ್ರಿಯಗೊಳಿಸಿರುವ ಯಾವುದೇ Langflow ಇನ್ಸ್ಟೆನ್ಸ್ ಪಾಲಿಗೆ ಪಬ್ಲಿಕ್ ಇಂಟರ್ನೆಟ್ ಒಂದು ದೊಡ್ಡ ದಾಳಿಯ ವಿಸ್ತಾರವಾಗಿದೆ (attack surface).
ಯಾರು ಅಪಾಯದಲ್ಲಿದ್ದಾರೆ
ಗಂಭೀರತೆಯ ಸ್ಕೋರ್ ಅನ್ನು ಗಮನಿಸಿದರೆ, ಈ ದುರ್ಬಲತೆಯನ್ನು “critical” ಎಂದು ಪರಿಗಣಿಸಲಾಗಿದೆ.
ತಕ್ಷಣದ ತಡೆಗಟ್ಟುವ ಕ್ರಮಗಳು
- Langflow 1.9.0 ಗೆ ಅಪ್ಗ್ರೇಡ್ ಮಾಡಿ – ಇದು ಏಕೈಕ ದೃಢೀಕರಿಸಲ್ಪಟ್ಟ ಪರಿಹಾರವಾಗಿದೆ.
- ಅನಾಮಧೇಯ ಪ್ರವೇಶದ (anonymous access) ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ public flow ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ.
- AUTO_LOGIN ಅನ್ನು ಆಫ್ ಮಾಡಿ – ಇದು ದೃಢೀಕರಿಸದ ರಿಕ್ವೆಸ್ಟ್ಗಳಿಗಾಗಿ ಸ್ವಯಂಚಾಲಿತ ಸೆಷನ್ ರಚನೆಯನ್ನು ತಡೆಯುತ್ತದೆ.
- ವಿಶ್ವಾಸಾರ್ಹ IP ವ್ಯಾಪ್ತಿಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಸೀಮಿತಗೊಳಿಸಲು API ಅನ್ನು ಫೈರ್ವಾಲ್ ಅಥವಾ ರಿವರ್ಸ್ ಪ್ರೊಕ್ಸಿ ಹಿಂದೆ ಇರಿಸಿ.
dataಪ್ಯಾರಾಮೀಟರ್ ಹೊಂದಿರುವbuild_public_tmpಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಬರುವ ರಿಕ್ವೆಸ್ಟ್ಗಳನ್ನು ತಡೆಯಲು Web Application Firewall (WAF) ಅನ್ನು ನಿಯೋಜಿಸಿ.
ಈ ಪರಿಹಾರ ಏಕೆ ಮುಖ್ಯ
ಈ ದುರ್ಬಲತೆಯು ಒಂದು ಮೂಲಭೂತ ವಿನ್ಯಾಸದ ತಪ್ಪನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ: ಅಂದರೆ ಹೆಚ್ಚಿನ ಅಧಿಕಾರಗಳೊಂದಿಗೆ ಚಲಿಸುವ ಸಂದರ್ಭದಲ್ಲಿ ಬಳಕೆದಾರರು ನೀಡಿದ ಕೋಡ್ ಅನ್ನು ನಂಬುವುದು. ಆ ನಂಬಿಕೆಯನ್ನು ತೆಗೆದುಹಾಕುವ ಮೂಲಕ ಮತ್ತು ಕಟ್ಟುನಿಟ್ಟಾದ ಇನ್ಪುಟ್ ನಿರ್ವಹಣೆಯನ್ನು ಜಾರಿಗೆ ತರುವ ಮೂಲಕ, Langflow 1.9.0 ಸಾರ್ವಜನಿಕ ಡೆಮೊ ಬಳಕೆದಾರರು ಮತ್ತು ಮೂಲ ಸರ್ವರ್ ನಡುವಿನ ಅಡೆತಡೆಯನ್ನು ಮರುಸ್ಥಾಪಿಸುತ್ತದೆ.
ಮುಂದೆ ಏನನ್ನು ಗಮನಿಸಬೇಕು
- ಸಮುದಾಯದ ಪ್ರತಿಕ್ರಿಯೆ (Community response) – ಮುಂದಿನ ಪ್ಯಾಚ್ಗಳು ಅಥವಾ ಸಲಹೆಗಳಿಗಾಗಿ Langflow ರೆಪೊಸಿಟರಿಯನ್ನು ಗಮನಿಸುತ್ತಿರಿ.
ಸಾರಾಂಶ: public-flow ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ಬಹಿರಂಗಪಡಿಸುವ ಯಾವುದೇ Langflow ನಿಯೋಜನೆಯನ್ನು (deployment) ಇಂದು ಪ್ಯಾಚ್ ಮಾಡಲೇಬೇಕು. ಆವೃತ್ತಿ 1.9.0 ಚಾಲನೆಯಲ್ಲಿರುವವರೆಗೆ, ಆ ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿಲ್ಲಿಸಿ ಮತ್ತು ನೆಟ್ವರ್ಕ್ ನಿಯಂತ್ರಣಗಳ ಮೂಲಕ ಸೇವೆಯನ್ನು ರಕ್ಷಿಸಿ. ಭದ್ರತಾ ಉಲ್ಲಂಘನೆಯ ವೆಚ್ಚವು ತ್ವರಿತ ಅಪ್ಗ್ರೇಡ್ ಮಾಡುವ ಪ್ರಯತ್ನಕ್ಕಿಂತ ಬಹಳ ದೊಡ್ಡದಾಗಿರುತ್ತದೆ.
