중요 .NET 보안 경고: CVE-2025-24070이 .NET 6에 미치는 영향

지원 종료(EOL)된 PHP용 php2shell 패치(CVE-2026-109618 및 CVE-2026-109619)가 출시되었습니다. 수요가 많아 평소보다 영업팀의 답변이 늦어지고 있으므로, 패치된 패키지를 가장 빠르게 확보하려면 온라인에서 Runtimes용 ELS를 구매하시기 바랍니다 (새 탭에서 열림). 패치 FAQ 읽어보기

이 블로그 글의 AI 요약으로 바로 가기

  • Perplexity를 사용하여 이 게시물을 요약해 주세요
  • Gemini로 이 게시물을 요약해 주세요

경영진 요약

 

저희 보안 연구팀은 최근에 공개된 취약점을 확인했습니다. CVE-2025-24070의 권한 상승 취약점이 Microsoft의 공식 보안 권고에는 언급되지 않았지만 .NET 6 애플리케이션에도 영향을 미친다는 사실을 발견했습니다. 장기 수명 종료 패치를 제공하는 .NET 6용 ELS(Endless Lifecycle Support) 프로그램의 일환으로 이 취약점을 철저히 분석하여 이 플랫폼에서 여전히 운영 중인 고객을 위해 이 문제를 해결하는 패치를 개발했습니다.

취약점 이해

 

CVE-2025-24070은 ASP.NET Core 애플리케이션에 존재하는 심각도가 높은 취약점(CVSS v3 점수: 7.0)으로 분류됩니다. 이 취약점은 RefreshSignInAsync 메서드를 중심으로 공격자가 다른 사용자의 계정을 사칭하여 무단으로 권한을 상승시킬 수 있습니다.

구체적으로, 이 취약점을 통해 공격자는 다음을 호출할 수 있습니다. RefreshSignInAsync 를 호출하여 현재 인증된 사용자 매개변수와 다른 사용자 매개변수를 전달할 수 있으며, ASP.NET Core는 이 요청을 수락합니다. 이 보안 결함으로 인해 원격 악용 가능성이 있으며 영향을 받는 애플리케이션에서 심각한 보안 침해가 발생할 수 있습니다.

영향받는 버전

 

Microsoft의 권고에는 현재 공식적으로 지원되는 버전인 ASP.NET Core 9.0, ASP.NET Core 8.0 및 ASP.NET Core 2.3이 영향을 받는 버전으로 명시적으로 언급되어 있습니다. 조사 결과 .NET 6 애플리케이션도 마찬가지로 취약한 것으로 확인되었습니다. 

공식적으로 문서화된 영향을 받는 버전은 다음과 같습니다:

  • ASP.NET Core 9.0.2 및 이전 버전
  • ASP.NET Core 8.0.13 및 이전 버전
  • ASP.NET Core 2.3.0 및 이전 버전

추가ASP.NET Core Identity 구성 요소를 사용하는 .NET 6 애플리케이션

기술 세부 정보

 

이 취약점은 ASP.NET Core의 인증 메커니즘, 특히 내부의 SignInManager 클래스를 처리할 때 RefreshSignInAsync 메서드를 처리할 때 존재합니다. 이 취약점으로 인해 RefreshSignInAsync 메서드가 현재 인증된 사용자와 일치하지 않는 사용자 매개변수를 허용할 수 있습니다.

정상적인 상황에서는 로그인 새로 고침이 현재 인증된 사용자에 대해서만 작동해야 합니다. 그러나 유효성 검사가 충분하지 않은 경우 공격자가 로그인할 수 있습니다:

  1. 유효한 인증 세션 얻기
  2. Call RefreshSignInAsync 를 다른 사용자 계정에 대한 매개 변수와 함께 호출합니다.
  3. 해당 계정의 권한을 지정된 계정의 권한으로 승격하는 데 성공했습니다.

지원되는 버전에 대해 Microsoft에서 구현한 패치는 다음을 수정합니다. RefreshSignInAsync 메서드를 수정하여 제공된 사용자 매개변수의 사용자 ID가 현재 인증된 사용자의 사용자 ID와 일치하는지 확인합니다. 일치하지 않으면 작업이 자동으로 실패하거나(패치 버전에서) 예외가 발생합니다(최신 버전에서).

.NET 6 사용자를 위한 솔루션

 

.NET 6에 대한 끝없는 수명 주기 지원을 제공하기 위한 노력의 일환으로 다음과 같이 했습니다:

  1. .NET 6 애플리케이션에 동일한 보호 기능을 제공하는 보안 패치를 개발했습니다.
  2. 이 패치는 보안과 호환성을 모두 보장하기 위해 철저한 테스트를 거쳤습니다.
  3. 지원 요금제를 사용하는 모든 고객이 즉시 사용할 수 있도록 했습니다.

저희 패치는 Microsoft가 지원되는 버전에 추가한 것과 동일한 보안 검사를 구현하여 RefreshSignInAsync가 현재 인증된 사용자에 대해서만 로그인을 새로 고칠 수 있도록 합니다. 이는 .NET 6 및 .NET 7의 수명이 이미 종료되었고 이러한 애플리케이션에 대한 Microsoft의 공식 보안 업데이트가 더 이상 제공되지 않는다는 점을 고려할 때 특히 중요합니다.

권장 조치

 

.NET 6 애플리케이션을 실행 중인 경우 다음 조치를 취하는 것이 좋습니다:

  1. 보안 패치를 즉시 적용하여 잠재적인 악용으로부터 보호하기 위해
  2. 애플리케이션의 인증 코드, 특히 다음과 같은 사용자 정의 구현을 감사하십시오. RefreshSignInAsync
  3. 적절한 로깅을 구현하여 잠재적인 익스플로잇 시도를 탐지합니다.

수정 사항을 얻는 방법

 

무한 수명 주기 지원 프로그램에 등록한 고객은 저장소에서 보안 패치를 다운로드할 수 있습니다. 이 업데이트는 가동 중단 시간을 최소화하면서 적용할 수 있으며 애플리케이션 코드를 변경할 필요가 없습니다.

현재 고객이 아니신가요? 자세한 내용은 레거시 .NET에 대한 끝없는 수명 주기 지원은 여기에서 확인하세요..

최종 생각

 

이번 발견은 공급업체의 지원이 종료되었지만 여전히 널리 사용되고 있는 프레임워크에 대한 연장 지원의 중요성을 강조합니다. Microsoft의 보안 연구팀은 공식 지원 여부와 관계없이 모든 버전의 .NET에 영향을 미치는 취약점을 식별하기 위해 경계를 늦추지 않고 있습니다.

Microsoft는 .NET 6용 보안 패치를 제공하여 조직이 안전한 운영을 유지하면서 비즈니스에 적합한 속도로 마이그레이션 전략을 계획할 수 있도록 지원합니다.

CVE-2025-24070 | CVSS v3 점수: 7.0 (높음) | 2025년 3월 25일

 

요약
중요 .NET 보안 경고: CVE-2025-24070이 .NET 6에 미치는 영향
기사 이름
중요 .NET 보안 경고: CVE-2025-24070이 .NET 6에 미치는 영향
설명
저희 보안 연구팀은 최근에 공개된 취약점 CVE-2025-24070을 확인했습니다. 이 주제에 대한 자세한 내용은 여기에서 확인하세요.
작성자
게시자 이름
TuxCare
게시자 로고

4,500명 이상의 Linux 및 오픈 소스 전문가와 함께하세요!

한 달에 두 번. 스팸이 없습니다.

목차
필요한 오픈 소스 보안에 대한 답변 얻기

4,500명 이상의 Linux 및 오픈 소스 전문가와 함께하세요!

한 달에 두 번. 스팸이 없습니다.