<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>itw &#8211; PT ESC</title>
	<atom:link href="/tag/itw/feed/index.xml" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Wed, 30 Sep 2026 17:51:21 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>/wp-content/uploads/2026/09/cropped-cropped-large_icon-32x32.png</url>
	<title>itw &#8211; PT ESC</title>
	<link>/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Как мы нашли ITW-эксплойт для CVE-2024-38178</title>
		<link>/how-we-found-the-itw-exploit-for-cve-2024-38178/</link>
		
		<dc:creator><![CDATA[author_vr]]></dc:creator>
		<pubDate>Wed, 21 Aug 2024 10:03:44 +0000</pubDate>
				<category><![CDATA[Vulnerability Research]]></category>
		<category><![CDATA[escvr]]></category>
		<category><![CDATA[itw]]></category>
		<category><![CDATA[jscript9]]></category>
		<category><![CDATA[reverse]]></category>
		<guid isPermaLink="false">http://localhost:8080/%d0%ba%d0%b0%d0%ba-%d0%bc%d1%8b-%d0%bd%d0%b0%d1%88%d0%bb%d0%b8-itw-%d1%8d%d0%ba%d1%81%d0%bf%d0%bb%d0%be%d0%b9%d1%82-%d0%b4%d0%bb%d1%8f-cve-2024-38178/</guid>

					<description><![CDATA[🔦 Как мы нашли ITW-эксплойт для CVE-2024-38178 В рамках ежемесячного просмотра свежезапатченных уязвимостей мы в команде ESC-VR обращаем пристальное внимание на уязвимости, помеченные как эксплуатируемые в дикой природе. Такие уязвимости становятся нашей…]]></description>
										<content:encoded><![CDATA[<p>🔦  <strong>Как мы нашли ITW-эксплойт для CVE-2024-38178</strong></p>
<p>В рамках ежемесячного просмотра свежезапатченных уязвимостей мы в команде ESC-VR обращаем пристальное внимание на уязвимости, помеченные как эксплуатируемые в дикой природе. Такие уязвимости становятся нашей главной целью, особенно если отсутствует какая бы то ни было информация о публичных эксплойтах. </p>
<p>Уязвимость <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-38178" rel="noopener" target="_blank">CVE-2024-38178</a><strong> </strong>— это повреждение памяти типа <strong>Type Confusion</strong> (<em>CWE-843</em>). Говоря по-простому: ситуация, когда область памяти, занимаемая объектом типа A, интерпретируется кодом как объект типа B.</p>
<p>Проанализировав патч, мы обнаружили, что изменения сделаны в функции, отвечающей за оптимизацию работы с массивами, в частности в функции <code>GlobOpt::OptArraySrc</code>. После исправления добавилась обработка ситуации, когда оптимизатор не замечает, что иногда тип переменной может изменяться в <code>runtime</code>.</p>
<p>Если вы следите за деятельностью <code>Google ProjectZero</code> так же активно, как и мы, то вы уже обо всем догадались 😉</p>
<p>Функция <code>GlobOpt::OptArraySrc</code> уже фигурировала в <strong>ITW-эксплойте</strong>, а именно в <a href="https://googleprojectzero.github.io/0days-in-the-wild/0day-RCAs/2022/CVE-2022-41128.html" rel="noopener" target="_blank">посте</a>, описывающем <strong>CVE-2022-41128</strong>. </p>
<p>В посте есть <code>PoC</code>, который демонстрирует эксплуатацию <strong>CVE-2022–41128</strong>. Взяв из него ключевые строки, мы провели поиск в публичных и приватных источниках по файлам, загруженным недавно, используя следующие подстроки:</p>
<p><strong>•</strong> <code>6E6577204F626A656374287B0D0A20 </code><br />
<strong>•</strong> <code>206E657720496E7433324172726179</code></p>
<p><strong>Мы нашли всего один файл</strong>. Он был загружен из <code>KR</code>, и эксплойт, вероятно, использовался в атаках в этой стране, о чем косвенно свидетельствует информация из <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-38178" rel="noopener" target="_blank">бюллетени</a> Microsoft. </p>
<p>Прогнав файл в системах с патчем и без него, мы быстро поняли, что это именно то, что мы искали. В связи с большой схожестью с <strong>CVE-2022-41128</strong> мы считаем, что и эта уязвимость была найдена через фаззинг, который проводился с использованием <code>PoC</code> для <strong>CVE-2022-41128</strong> и <strong>CVE-2021-34480</strong>.</p>
<p>Эксплойт создает ситуацию, когда <strong>JIT-компилятор</strong> убежден, что переменная <strong>X</strong> имеет тип <code>js::TypedArray&lt;int,0&gt;</code>, но на самом деле <strong>X</strong> содержит значение <strong>Y</strong> типа <code>js::DynamicObj</code>. Далее эксплойт использует доступ по индексу 4, 11, 12, чтобы модифицировать внутренние поля массива <code>js::JavaScriptNativeArray</code>, находящегося в одном из свойств значения <strong>Y</strong>. Модифицируемые поля хранят размер массива. </p>
<p>В результате эксплойт дает возможность для доступа за пределы этого массива для того, чтобы получить примитивы на относительную запись и чтение. Дальнейшее описание заняло бы неприлично много места в рамках поста, поэтому stay tunned и happy hunting 🙂</p>
<p><strong>YARA-правило (на файл):</strong></p>

<pre class="wp-block-code"><span><code class="hljs language-plaintext">
rule exploit_CVE_2024_38178 {
      strings:
          $a = { 6E6577204F626A656374287B0D0A20 }
          $b = { 206E657720496E7433324172726179 } 
     condition:
           all of them
}
</code></span></pre>

<p><strong>IoCs:</strong></p>

<pre class="wp-block-code"><span><code class="hljs language-yaml">
<span class="hljs-attr">SHA256:</span> <span class="hljs-string">736092B71A9686FDE43D3C4ABD941A6774721B90B17D946C9D05AF19C84DF0A4</span>
</code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-yaml">
<span class="hljs-string">http://img&#91;.]mobonad&#91;.]com/images/20230912/43</span>
</code></span></pre>

<p><span class="hashtag">#escvr</span> <span class="hashtag">#itw</span> <span class="hashtag">#jscript9</span> <span class="hashtag">#reverse</span><br />
<a href="https://t.me/ptescalator" rel="noopener" target="_blank">@ptescalator</a></p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
