Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
apple-positional-audio-codec-invalid-header — CVE-2025-31200 - @Noahhw46 ने इसका पता लगा लिया | Kitploit
उपकरण/GitHubGitHub/zhuowei/apple-positional-audio-codec-invalid-header
मेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगफज़िंगबाइनरी शोषण
GitHubzhuowei/apple-positional-audio-codec-invalid-header

apple-positional-audio-codec-invalid-header

CVE-2025-31200 - @Noahhw46 ने इसका पता लगा लिया

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
118191 साल पहलेKitploit द्वारा समीक्षित

CoreAudio पैच (CVE-2025-31200) के लिए प्रूफ-ऑफ-कॉन्सेप्ट iOS 18.4.1 में। राइट-अप यहाँ: https://blog.noahhw.dev/posts/cve-2025-31200/.

अद्यतन 05/27/2025

मैं इसे एक नियंत्रित राइट तक बढ़ाने में सक्षम रहा हूँ, यदि मनमाना नहीं तो। राइट-अप जल्द आ रहा है। हालाँकि, इसे स्वयं देखने के लिए आपको पैच से पहले के macOS संस्करण पर बिल्ड करना होगा: < 15.4.1. आप राइट को देखने के लिए check-mismatch lldb हुक के साथ ऑडियो चला सकते हैं (एक साधारण हार्नेस का उपयोग करके जो केवल ऑडियो चलाता है)। यह अभी एक बहुत अच्छा मनमाना राइट नहीं है, जैसा कि मैंने ऊपर कुछ कारणों से उल्लेख किया था - लेकिन मुख्य रूप से इसलिए क्योंकि मुझे अभी भी 100% यकीन नहीं है कि रीमैप किए जाने पर फ्रेम बफर के ये मान डिकोडिंग पाइपलाइन के किस चरण में होते हैं। हालाँकि, मैं राइट-अप पर काम करने के लिए यहीं रुक रहा हूँ; अगर कोई इसे आगे लेना चाहता है।

अद्यतन 05/21/2025

मैं, @noahhw46 (इस सेटअप @zhouwei के बिना यह संभव नहीं था), इसे समझ गया हूँ (राइट-अप जल्द आ रहा है)। हालाँकि, अभी भी बहुत कुछ समझना बाकी है। बग वास्तव में क्या करता है, यह ठीक से दिखाने के लिए मैंने यहाँ अपनी जाँच के अगले चरणों का पहला भाग जोड़ा है। check-mismatch एक और lldb स्क्रिप्ट है जिसे एक कार्यशील poc के साथ उपयोग किया जा सकता है ताकि APACChannelRemapper::Process (वास्तव में APACHOADecoder::DecodeAPACFrame में) में mRemappingArray और परम्यूटेशन मैप के बीच बनाए गए मिसमैच को ठीक से दिखाया जा सके।


root@kitploit:~
The mRemappingArray is sized based on the lower two bytes of mChannelLayoutTag.
By creating a mismatch between them, a later stage of processing in APACHOADecoder::DecodeAPACFrame is corrupted.
When the APACHOADecoder goes to process the APAC frame (permute it according to the channel remapping array), it uses the mRemappingArray as the permutation map to do the well, channel remapping. It seems like the frame data that is being remapped is sized based on mTotalComponenets.

जब आप output.mp4 ऑडियो फ़ाइल चलाते हैं (उदा. AVAudioPlayer के साथ), तो APACChannelRemapper::Process आउट-ऑफ-बाउंड्स पढ़ेगा और फिर लिखेगा।

यदि आप Xcode में Guard Malloc सक्षम करते हैं तो आप पहला आउट-ऑफ-बाउंड्स रीड देख सकते हैं:

Xcode APACChannelRemapper::Process में क्रैश दिखा रहा है

Guard Malloc के बिना, APACHOADecoder::DecodeAPACFrame बाद में एक अमान्य memmove के साथ क्रैश करेगा:

Xcode _platform_memmove में क्रैश दिखा रहा है

@zhuowei का पिछला README नीचे है:

iOS 18.4.1 में CoreAudio पैच (CVE-2025-31200) को समझने की कोशिश कर रहा हूँ।

मैंने अभी तक इसका पता नहीं लगाया है।

वर्तमान में, macOS 15.4.1 पर output.mp4 डिकोड करते समय मुझे अलग-अलग त्रुटि संदेश मिलते हैं:

root@kitploit:~
error	01:10:26.743480-0400	getaudiolength	<private>:548    Invalid mRemappingArray bitstream in hoa::CodecConfig::Deserialize()
error	01:10:26.743499-0400	getaudiolength	<private>:860    Error in deserializing ASC components

बनाम visionOS 2.2 के लिए Xcode Simulator:

root@kitploit:~
error	01:09:21.841805-0400	VisionOSEvaluation	          APACProfile.cpp:424    ERROR: Wrong profile index in GlobalConfig
error	01:09:21.841914-0400	VisionOSEvaluation	     APACGlobalConfig.cpp:894    Profile and level data could not be validated

इसलिए मैं नए चेक से टकरा रहा हूँ, लेकिन मुझे नहीं पता कि इसे वास्तव में कुछ ओवरराइट करने के लिए कैसे लाया जाए।

परिवर्तित फ़ंक्शन के बारे में जानकारी

परिवर्तित फ़ंक्शन लगता है /System/Library/Frameworks/AudioToolbox.framework/AudioCodecs में apac::hoa::CodecConfig::Deserialize है।

APAC Apple Positional Audio Codec है।

HOA Higher-order Ambisonics है।

यदि आप ffmpeg issue tracker से एक नमूना फ़ाइल देखें:

root@kitploit:~
$ avmediainfo ~/Downloads/clap.MOV 
Asset: /Users/zhuowei/Downloads/clap.MOV
<...>
Track 3: Sound 'soun'
	Enabled: No
	Format Description 1:
		Format: APAC 'apac'
		Channel Layout: High-Order Ambisonics, ACN/SN3D
		Sample rate: 48000.0
		Bytes per packet: 0
		Frames per packet: 1024
		Bytes per frame: 0
		Channels per frame: 4
		Bits per channel: 0
	System support for decoding this track: Yes
	Data size: 43577 bytes
	Media time scale: 48000
	Duration: 0.898 seconds
	Estimated data rate: 363.142 kbit/s
	Extended language tag: und
	1 segment present
	Index   Media Start  Media Duration   Track Start  Track Duration 
	    1  00:00:00.000    00:00:00.898  00:00:00.000    00:00:00.898
	Member of alternate group 0: (2, 3)

आप afconvert -o sound440.m4a -d apac -f mp4f sound440hz.wav के साथ APAC में कन्वर्ट कर सकते हैं।

iOS 18.4.1 बनाम 18.4 पर bindiff का उपयोग करने पर, ऐसा लगता है कि mRemappingArray को पढ़ना अब चैनलों की संख्या के लिए ऑफसेट 0x58 पर वैश्विक AudioChannelLayout* की जाँच करता है, न कि ऑफसेट 0x78 पर रीमैपिंग AudioChannelLayout* की।

encodeme.mm फ़ाइल APAC एन्कोड करती है, और एक LLDB स्क्रिप्ट mRemappingArray और रीमैपिंग AudioChannelLayout में अतिरिक्त तत्वों को बलपूर्वक डालती है:

root@kitploit:~
./build_encodeme.sh
./run_encodeme.sh
टूल डाउनलोड करें