<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>App Router on ICE-ICE-BEAR-BLOG</title><link>https://ice-ice-bear.github.io/ko/tags/app-router/</link><description>Recent content in App Router on ICE-ICE-BEAR-BLOG</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Fri, 08 May 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://ice-ice-bear.github.io/ko/tags/app-router/index.xml" rel="self" type="application/rss+xml"/><item><title>Next.js v16.2.6 — 13개 보안 권고를 한 릴리스에 묶은 긴급 패치</title><link>https://ice-ice-bear.github.io/ko/posts/2026-05-08-nextjs-16-2-6-security-patch/</link><pubDate>Fri, 08 May 2026 00:00:00 +0900</pubDate><guid>https://ice-ice-bear.github.io/ko/posts/2026-05-08-nextjs-16-2-6-security-patch/</guid><description>&lt;img src="https://ice-ice-bear.github.io/" alt="Featured image of post Next.js v16.2.6 — 13개 보안 권고를 한 릴리스에 묶은 긴급 패치" /&gt;&lt;h2 id="개요"&gt;개요
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/vercel/next.js" target="_blank" rel="noopener"
 &gt;vercel/next.js&lt;/a&gt;가 2026-05-07 &lt;a class="link" href="https://github.com/vercel/next.js/releases/tag/v16.2.6" target="_blank" rel="noopener"
 &gt;v16.2.6 릴리스&lt;/a&gt;에서 &lt;strong&gt;13개 보안 권고를 한꺼번에&lt;/strong&gt; 닫았다. High 7건 / Moderate 4건 / Low 2건. 현장 한 줄 평이 가장 정확하다 — &lt;em&gt;&amp;ldquo;패치 내용 보니 안 하면 큰일 날 거 같습니다 / 엄청 크리티컬해요&amp;rdquo;&lt;/em&gt;. 특히 &lt;a class="link" href="https://nextjs.org/docs/app" target="_blank" rel="noopener"
 &gt;App Router&lt;/a&gt;와 &lt;a class="link" href="https://nextjs.org/docs/app/building-your-application/routing/middleware" target="_blank" rel="noopener"
 &gt;Middleware/Proxy&lt;/a&gt;가 얽힌 &lt;strong&gt;인증·인가 우회 권고가 3건&lt;/strong&gt;, &lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r" target="_blank" rel="noopener"
 &gt;WebSocket SSRF&lt;/a&gt; 1건, &lt;strong&gt;캐시 오염 권고가 3건&lt;/strong&gt; — 표면이 다양해서 단일 버그가 아니라 &lt;strong&gt;공통 패턴&lt;/strong&gt;이 드러난다.&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 Release["Next.js v16.2.6 &amp;lt;br/&amp;gt; 2026-05-07"] --&gt; Bypass["Middleware/Proxy &amp;lt;br/&amp;gt; Bypass × 3"]
 Release --&gt; SSRF["SSRF × 1"]
 Release --&gt; Cache["Cache poisoning × 3"]
 Release --&gt; XSS["XSS × 2"]
 Release --&gt; DoS["DoS × 3"]
 Release --&gt; Other["기타 follow-up × 1"]

 Bypass --&gt; B1["GHSA-267c-6grr-h53f &amp;lt;br/&amp;gt; segment-prefetch"]
 Bypass --&gt; B2["GHSA-492v-c6pp-mqqv &amp;lt;br/&amp;gt; dynamic route param"]
 Bypass --&gt; B3["GHSA-36qx-fr4f-26g5 &amp;lt;br/&amp;gt; Pages Router i18n"]

 SSRF --&gt; S1["GHSA-c4j6-fc7j-m34r &amp;lt;br/&amp;gt; WebSocket upgrade"]

 Cache --&gt; C1["GHSA-wfc6-r584-vfw7 &amp;lt;br/&amp;gt; RSC 응답"]
 Cache --&gt; C2["GHSA-vfv6-92ff-j949 &amp;lt;br/&amp;gt; RSC 캐시-busting"]
 Cache --&gt; C3["GHSA-3g8h-86w9-wvmq &amp;lt;br/&amp;gt; redirect"]

 XSS --&gt; X1["GHSA-ffhc-5mcf-pf4q &amp;lt;br/&amp;gt; CSP nonce"]
 XSS --&gt; X2["GHSA-gx5p-jg67-6x7h &amp;lt;br/&amp;gt; beforeInteractive"]

 DoS --&gt; D1["GHSA-8h8q-6873-q5fj &amp;lt;br/&amp;gt; Server Components"]
 DoS --&gt; D2["GHSA-mg66-mrh9-m8jx &amp;lt;br/&amp;gt; Cache Components"]
 DoS --&gt; D3["GHSA-h64f-5h5j-jqjh &amp;lt;br/&amp;gt; Image API"]

 Other --&gt; O1["GHSA-26hh-7cqf-hhc6 &amp;lt;br/&amp;gt; incomplete fix"]&lt;/pre&gt;&lt;h2 id="1-middlewareproxy-bypass--3--가장-위험한-묶음"&gt;1. Middleware/Proxy bypass × 3 — 가장 위험한 묶음
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://nextjs.org/docs/app/building-your-application/routing/middleware" target="_blank" rel="noopener"
 &gt;Middleware/Proxy&lt;/a&gt;는 라우트 진입 전 인증·인가·리다이렉트를 처리하는 곳이다. &lt;strong&gt;이 레이어를 우회할 수 있다면 인증 자체가 무의미해진다.&lt;/strong&gt; v16.2.6은 서로 다른 표면 3곳에서 우회 경로를 한꺼번에 닫았다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f" target="_blank" rel="noopener"
 &gt;GHSA-267c-6grr-h53f&lt;/a&gt; — &lt;strong&gt;App Router segment-prefetch route&lt;/strong&gt;를 통한 미들웨어 우회 (High)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6" target="_blank" rel="noopener"
 &gt;GHSA-26hh-7cqf-hhc6&lt;/a&gt; — 위 권고의 &lt;strong&gt;incomplete fix follow-up&lt;/strong&gt; (High)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv" target="_blank" rel="noopener"
 &gt;GHSA-492v-c6pp-mqqv&lt;/a&gt; — &lt;strong&gt;dynamic route 파라미터 인젝션&lt;/strong&gt;을 통한 미들웨어 우회 (High)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5" target="_blank" rel="noopener"
 &gt;GHSA-36qx-fr4f-26g5&lt;/a&gt; — &lt;strong&gt;Pages Router의 &lt;a class="link" href="https://nextjs.org/docs/pages/building-your-application/routing/internationalization" target="_blank" rel="noopener"
 &gt;i18n 라우팅&lt;/a&gt;&lt;/strong&gt; 을 통한 미들웨어 우회 (High)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;세 표면(App Router segment / dynamic route / Pages Router i18n)에서 동시 발견됐다는 점이 메시지다. &lt;strong&gt;단일 버그가 아니라 라우팅 모델 전반의 공통 패턴&lt;/strong&gt; — 미들웨어 매칭 로직과 실제 라우팅이 같은 경로를 다르게 해석하는 클래스의 결함이다. 게다가 &lt;code&gt;26hh-7cqf-hhc6&lt;/code&gt;은 이전 패치의 incomplete fix를 같은 릴리스에 묶어 닫았다 — 외부에 불완전 패치가 노출되는 시간을 최소화한 점은 칭찬할 만하다.&lt;/p&gt;
&lt;h2 id="2-ssrf--websocket-upgrade"&gt;2. SSRF — WebSocket upgrade
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r" target="_blank" rel="noopener"
 &gt;GHSA-c4j6-fc7j-m34r&lt;/a&gt; — &lt;strong&gt;WebSocket upgrade 처리에서 SSRF&lt;/strong&gt; (High)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;WebSocket upgrade 핸들링에서 &lt;a class="link" href="https://owasp.org/www-community/attacks/Server_Side_Request_Forgery" target="_blank" rel="noopener"
 &gt;Server-Side Request Forgery&lt;/a&gt;가 가능했다. 공격자가 서버를 통해 &lt;strong&gt;내부 네트워크 스캔, metadata endpoint 호출, 보호받는 내부 API 호출&lt;/strong&gt;까지 시도할 수 있다는 뜻이다. Realtime/스트리밍 기능을 쓰는 앱은 직격탄.&lt;/p&gt;
&lt;h2 id="3-캐시-오염--3"&gt;3. 캐시 오염 × 3
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7" target="_blank" rel="noopener"
 &gt;GHSA-wfc6-r584-vfw7&lt;/a&gt; — &lt;strong&gt;RSC 응답&lt;/strong&gt; 캐시 오염 (Moderate)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949" target="_blank" rel="noopener"
 &gt;GHSA-vfv6-92ff-j949&lt;/a&gt; — &lt;strong&gt;RSC cache-busting 충돌&lt;/strong&gt;을 통한 오염 (Low)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq" target="_blank" rel="noopener"
 &gt;GHSA-3g8h-86w9-wvmq&lt;/a&gt; — &lt;strong&gt;Middleware/Proxy redirect&lt;/strong&gt; 가 캐시 오염 가능 (Low)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class="link" href="https://nextjs.org/docs/app/building-your-application/rendering/server-components" target="_blank" rel="noopener"
 &gt;React Server Components&lt;/a&gt; 응답이 CDN/Edge에서 캐싱되는 게 일반적인 만큼, 캐시가 한 번 오염되면 &lt;strong&gt;임의 사용자에게 악성 응답이 노출&lt;/strong&gt;된다. 공격자가 직접 트리거 가능한 경로가 두 개. Severity가 Moderate/Low로 표시됐지만, Edge 캐시 토폴로지에 따라 실제 영향이 등급보다 클 수 있다.&lt;/p&gt;
&lt;h2 id="4-xss--2"&gt;4. XSS × 2
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q" target="_blank" rel="noopener"
 &gt;GHSA-ffhc-5mcf-pf4q&lt;/a&gt; — App Router의 &lt;strong&gt;CSP nonce 처리&lt;/strong&gt;에서 XSS (Moderate)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h" target="_blank" rel="noopener"
 &gt;GHSA-gx5p-jg67-6x7h&lt;/a&gt; — &lt;strong&gt;&lt;a class="link" href="https://nextjs.org/docs/app/api-reference/components/script#beforeinteractive" target="_blank" rel="noopener"
 &gt;&lt;code&gt;beforeInteractive&lt;/code&gt; 스크립트&lt;/a&gt;에 untrusted input&lt;/strong&gt; 주입 시 XSS (Moderate)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;CSP nonce는 XSS를 막기 위한 마지막 방어선인데 거기 자체에 결함이 있었다는 게 핵심. &lt;code&gt;beforeInteractive&lt;/code&gt;는 hydration 전에 실행되는 가장 위험한 위치라 untrusted input이 들어오면 손쓸 방법이 거의 없다.&lt;/p&gt;
&lt;h2 id="5-dos--3"&gt;5. DoS × 3
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj" target="_blank" rel="noopener"
 &gt;GHSA-8h8q-6873-q5fj&lt;/a&gt; — &lt;strong&gt;Server Components&lt;/strong&gt; DoS (High)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx" target="_blank" rel="noopener"
 &gt;GHSA-mg66-mrh9-m8jx&lt;/a&gt; — &lt;strong&gt;&lt;a class="link" href="https://nextjs.org/docs/app/building-your-application/caching" target="_blank" rel="noopener"
 &gt;Cache Components&lt;/a&gt;&lt;/strong&gt; 커넥션 고갈 DoS (High)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh" target="_blank" rel="noopener"
 &gt;GHSA-h64f-5h5j-jqjh&lt;/a&gt; — &lt;strong&gt;&lt;a class="link" href="https://nextjs.org/docs/app/api-reference/components/image#image-optimization-api" target="_blank" rel="noopener"
 &gt;Image Optimization API&lt;/a&gt;&lt;/strong&gt; DoS (Moderate)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;세 권고 모두 외부에서 비교적 적은 비용으로 트리거 가능한 종류라 High/Moderate가 붙었다. Cache Components는 커넥션 고갈, Image API는 변환 비용을 통해 자원을 소진하는 패턴이다.&lt;/p&gt;
&lt;h2 id="즉시-해야-할-것"&gt;즉시 해야 할 것
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install next@16.2.6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;yarn add next@16.2.6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pnpm add next@16.2.6
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bun add next@16.2.6
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;App Router + Middleware로 인증·인가를 처리하는 앱은 즉시 업그레이드.&lt;/strong&gt; Bypass 권고 3건이 합쳐지면 인증 자체가 의미 없어지는 시나리오가 있다. 업그레이드 전에 WAF/CDN 레이어에서 임시로 segment-prefetch 패턴과 의심스러운 &lt;code&gt;?&lt;/code&gt; query 파라미터를 차단하는 것도 고려.&lt;/p&gt;
&lt;h2 id="인사이트"&gt;인사이트
&lt;/h2&gt;&lt;p&gt;Triage 우선순위는 명확하다 — &lt;strong&gt;Bypass 3건 + SSRF 1건 + Cache poisoning 3건&lt;/strong&gt;이 같은 릴리스에 묶였다는 사실 자체가 가장 큰 시그널이다. Middleware 우회가 세 다른 표면에서 동시 발견된 건 단일 버그가 아니라 &lt;strong&gt;App Router의 라우팅 모델과 Middleware 매칭 로직이 같은 경로를 다르게 해석하는 클래스의 결함&lt;/strong&gt;이라는 뜻이다. Next.js 16이 비교적 신버전이라는 점을 감안해도, 한 릴리스에 13건이 묶이는 건 흔치 않다. Vercel 팀이 incomplete-fix follow-up을 같은 릴리스로 묶어 외부 노출 시간을 최소화한 점은 책임감 있는 disclosure의 좋은 사례. 현장 반응 &lt;em&gt;&amp;ldquo;엄청 크리티컬해요&amp;rdquo;&lt;/em&gt; 가 정확하고, &lt;strong&gt;upgrade triage에서 highest priority&lt;/strong&gt;로 다뤄야 한다. 더 큰 그림으로 보면, 이번 릴리스는 &lt;strong&gt;App Router의 라우팅 모델 자체에 대한 fuzz/감사가 더 필요했다&lt;/strong&gt;는 신호다 — 미들웨어 매칭 로직과 라우팅이 분리돼 있는 한 같은 클래스의 결함은 또 나올 가능성이 높다.&lt;/p&gt;
&lt;h2 id="참고"&gt;참고
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Release&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js" target="_blank" rel="noopener"
 &gt;vercel/next.js&lt;/a&gt; · &lt;a class="link" href="https://github.com/vercel/next.js/releases/tag/v16.2.6" target="_blank" rel="noopener"
 &gt;v16.2.6 릴리스 노트&lt;/a&gt; (2026-05-07 published)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;High severity advisories&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj" target="_blank" rel="noopener"
 &gt;GHSA-8h8q-6873-q5fj&lt;/a&gt; — Server Components DoS&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f" target="_blank" rel="noopener"
 &gt;GHSA-267c-6grr-h53f&lt;/a&gt; — App Router segment-prefetch bypass&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6" target="_blank" rel="noopener"
 &gt;GHSA-26hh-7cqf-hhc6&lt;/a&gt; — incomplete-fix follow-up&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx" target="_blank" rel="noopener"
 &gt;GHSA-mg66-mrh9-m8jx&lt;/a&gt; — Cache Components DoS&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv" target="_blank" rel="noopener"
 &gt;GHSA-492v-c6pp-mqqv&lt;/a&gt; — dynamic-route bypass&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r" target="_blank" rel="noopener"
 &gt;GHSA-c4j6-fc7j-m34r&lt;/a&gt; — WebSocket SSRF&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5" target="_blank" rel="noopener"
 &gt;GHSA-36qx-fr4f-26g5&lt;/a&gt; — Pages Router i18n bypass&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Moderate / Low advisories&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q" target="_blank" rel="noopener"
 &gt;GHSA-ffhc-5mcf-pf4q&lt;/a&gt; — App Router CSP nonce XSS (Moderate)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h" target="_blank" rel="noopener"
 &gt;GHSA-gx5p-jg67-6x7h&lt;/a&gt; — beforeInteractive XSS (Moderate)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh" target="_blank" rel="noopener"
 &gt;GHSA-h64f-5h5j-jqjh&lt;/a&gt; — Image Optimization DoS (Moderate)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7" target="_blank" rel="noopener"
 &gt;GHSA-wfc6-r584-vfw7&lt;/a&gt; — RSC cache poisoning (Moderate)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949" target="_blank" rel="noopener"
 &gt;GHSA-vfv6-92ff-j949&lt;/a&gt; — RSC cache-busting collision (Low)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq" target="_blank" rel="noopener"
 &gt;GHSA-3g8h-86w9-wvmq&lt;/a&gt; — Middleware redirect cache poisoning (Low)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Next.js docs&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://nextjs.org/docs/app" target="_blank" rel="noopener"
 &gt;App Router&lt;/a&gt; · &lt;a class="link" href="https://nextjs.org/docs/app/building-your-application/routing/middleware" target="_blank" rel="noopener"
 &gt;Middleware/Proxy&lt;/a&gt; · &lt;a class="link" href="https://nextjs.org/docs/app/building-your-application/caching" target="_blank" rel="noopener"
 &gt;Cache Components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://nextjs.org/docs/app/building-your-application/rendering/server-components" target="_blank" rel="noopener"
 &gt;Server Components&lt;/a&gt; · &lt;a class="link" href="https://nextjs.org/docs/app/api-reference/components/image#image-optimization-api" target="_blank" rel="noopener"
 &gt;Image Optimization API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://nextjs.org/docs/pages/building-your-application/routing/internationalization" target="_blank" rel="noopener"
 &gt;Pages Router i18n&lt;/a&gt; · &lt;a class="link" href="https://nextjs.org/docs/app/api-reference/components/script#beforeinteractive" target="_blank" rel="noopener"
 &gt;&lt;code&gt;beforeInteractive&lt;/code&gt; script strategy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>