우리는 GroupDocs.Annotation for .NET 26.10이 2026년 10월에 출시된 것을 기쁘게 발표합니다. 이번 릴리스는 보안에 중점을 둔 릴리스로, 문서가 더 이상 원격 이미지, 스타일 시트 또는 연결된 파일을 자동으로 가져오지 않으며, 새로운 LoadOptions 멤버를 통해 로드할 항목을 정확히 결정할 수 있습니다. 또한 기본 문서 엔진을 업그레이드하고 취약한 종속성을 업데이트했으며 여러 문제를 수정했습니다.

이번 릴리스의 새로운 기능

키 카테고리 요약
ANNOTATIONNET-2663 ⚠️ 향상 외부 리소스가 기본적으로 로드되지 않음 (새 LoadOptions 제어)
ANNOTATIONNET-2687 ✨ 향상 기본 문서 엔진 업그레이드
ANNOTATIONNET-2672 🔒 보안 System.Security.Cryptography.Pkcs를 8.0.2로 업데이트 (CVE-2026-84008 / CVE-2026-70162)
ANNOTATIONNET-2102 🔧 수정 EML 문서에서 주석을 추출할 때 발생하던 FileTypeNotSupportedException 수정
ANNOTATIONNET-1903 🔧 수정 이전 버전으로 주석이 달린 문서가 .NET 8에서 열리지 않던 문제 수정
ANNOTATIONNET-2689 🔧 수정 PDF 페이지를 90도 회전했을 때 저장 시 회전이 사라지는 문제 수정

외부 리소스가 기본적으로 로드되지 않음

문서는 자체 외부 리소스를 참조할 수 있습니다: HTML 페이지나 이메일 본문의 <img src="https://...">, Word 문서의 연결된 그림, 원격 스타일 시트 또는 외부 워크북 링크 등. 지금까지는 이러한 문서를 열거나 미리 보거나 저장할 때 GroupDocs.Annotation이 네트워크나 파일 공유에서 해당 리소스를 요청했습니다.

신뢰할 수 없는 문서를 처리하는 서버에서는 이것이 서버 측 요청 위조 (SSRF) 위험을 초래합니다: 문서가 서버에게 내부 주소를 호출하게 할 수 있으며, UNC 경로는 프로세스의 Windows 자격 증명을 유출할 수 있습니다.

26.10부터 외부 리소스가 기본적으로 건너뛰어집니다 (Word 처리, HTML, 이메일, 프레젠테이션 및 스프레드시트 문서에 적용):

  • 요청 없음. 문서가 참조하는 리소스에 대해 네트워크나 파일 공유 요청이 전혀 이루어지지 않으며, 모든 작업(Get, Add, Save, GeneratePreview, GetDocumentInfo)에 적용됩니다.
  • 빈 자리표시자. 건너뛴 이미지는 투명한 자리표시자로 렌더링되며, 원본 링크는 저장된 문서에 그대로 유지됩니다.
  • 임베디드 콘텐츠는 계속 작동. 이메일의 cid: 파트, data: URI 및 임베디드 그림은 항상 로드됩니다.
  • 이미지 주석은 영향을 받지 않음. ImageAnnotation.ImagePath는 여전히 URL에서 로드됩니다.

동작이 변경된 사항입니다. 문서가 원격 이미지나 스타일 시트 렌더링에 의존한다면, 새로운 LoadOptions 멤버를 사용해 명시적으로 허용하십시오:

멤버 기본값 설명
SkipExternalResources true 외부 리소스를 건너뜁니다. false 로 설정하면 26.10 이전 동작을 복원합니다.
WhitelistedResources empty 리소스를 건너뛰는 경우에도 로드되는 호스트 이름 또는 절대 URI 접두사.
ExternalResourceHandler null 각 외부 리소스에 대해 호출됩니다; 리소스를 허용하거나 건너뛰거나 내용을 제공할 수 있습니다.

신뢰할 수 있는 호스트만 허용하십시오 (권장):

LoadOptions loadOptions = new LoadOptions
{
    // SkipExternalResources stays true (the default)
    WhitelistedResources = { "cdn.example.com", "https://intranet.example.com/images/" }
};

using (Annotator annotator = new Annotator("input.html", loadOptions))
{
    annotator.Save("output.html"); // only images from the two whitelisted locations are loaded
}

핸들러를 사용해 각 리소스를 검사, 허용 또는 대체하십시오:

class AuditingResourceHandler : ExternalResourceHandler
{
    public override void OnLoading(ExternalResourceLoadingArgs args)
    {
        Console.WriteLine($"{args.Uri}: {(args.Skipped ? "skipped" : "loaded")}");

        // serve a local copy instead of going to the network
        if (args.Uri == "https://example.com/logo.png")
            args.Data = File.ReadAllBytes("logo.png");
    }
}

업그레이드된 문서 엔진

번들된 워드 처리, 스프레드시트, 프레젠테이션, PDF, 다이어그램, 이메일, 이미지, CAD 및 그래픽 렌더링 엔진이 2026년 10월 릴리스 버전으로 업데이트되었습니다. 재생성된 문서와 페이지 미리보기는 바이트 또는 픽셀 수준에서 약간 차이가 있을 수 있지만 시각적으로는 동일합니다.

.NET 6 및 .NET 8 프로젝트의 경우 런타임 패키지가 이제 SkiaSharp 4.152.1에 의존합니다. 프로젝트가 SkiaSharp 3.x를 직접 참조하고 있다면 4.x로 업데이트하십시오.

보안 업데이트

문서 엔진이 System.Security.Cryptography.Pkcs 8.0.0 또는 8.0.1을 포함했으며, 이는 CVE-2026-84008 및 CVE-2026-70162의 영향을 받습니다. GroupDocs.Annotation은 이제 모든 대상 프레임워크에서 패치된 8.0.2를 참조합니다. 코드 변경은 필요하지 않습니다.

수정 사항

  • EML from a stream. MIME-Version: 1.0으로 시작하는 EML 메시지가 MHT 아카이브로 잘못 인식되어 스트림에서 열 때 FileTypeNotSupportedException이 발생했습니다. 이제 이러한 메시지는 스트림이든 파일이든 동일하게 열리며, MHT 파일도 이메일 문서로 지원됩니다.
  • Older documents on .NET 8. 26.6 이전 버전으로 주석이 달린 문서가 .NET 8에서 NotSupportedException으로 열리지 않았습니다. 이제 열리며, 레거시 주석은 로그 경고와 함께 건너뛰고 새 주석을 추가·저장할 수 있습니다. 재저장된 프레젠테이션(PPTX)에서 주석을 다시 읽지 못하던 관련 문제도 모든 프레임워크에서 해결되었습니다.
  • PDF rotation by 90 degrees. Annotator.Rotation을 사용해 PDF 페이지를 180도와 270도에서는 회전했지만, 90도 회전은 저장 시 사라졌습니다. 이제 모든 각도에 대해 회전이 유지됩니다:
using (Annotator annotator = new Annotator("input.pdf"))
{
    annotator.ProcessPages = 1;                 // the page to rotate
    annotator.Rotation = RotationDocument.on90; // previously ignored
    annotator.Save("output.pdf");
}

공개 API 변경 사항

이번 릴리스에서 다음 멤버가 추가되었습니다:

공개 멤버가 제거되거나 변경된 것은 없습니다.

업데이트 받는 방법

NuGet

NuGet을 사용해 GroupDocs.Annotation 26.10.0으로 설치하거나 업그레이드하십시오. 패키지는 대상 프레임워크(.NET Framework 4.6.2, .NET 6 또는 .NET 8)에 맞는 런타임 패키지를 자동으로 해결합니다:

dotnet add package GroupDocs.Annotation --version 26.10.0

직접 다운로드

GroupDocs.Annotation for .NET 26.10 페이지에서 릴리스를 다운로드하십시오.

리소스