We zijn verheugd om GroupDocs.Annotation for .NET 26.10 aan te kondigen, uitgebracht in oktober 2026. Dit is een op veiligheid gerichte release: documenten halen geen externe afbeeldingen, stijlblaadjes of gekoppelde bestanden meer zelf op, en nieuwe LoadOptions‑leden laten u precies bepalen wat er geladen mag worden. De release werkt ook de onderliggende documentengines bij, werkt een kwetsbare afhankelijkheid bij en lost verschillende problemen op.

Wat is er nieuw in deze release

Sleutel Categorie Samenvatting
ANNOTATIONNET-2663 ⚠️ Verbetering Externe bronnen worden niet langer standaard geladen (nieuwe LoadOptions‑controles)
ANNOTATIONNET-2687 ✨ Verbetering Upgrade de onderliggende documentengines
ANNOTATIONNET-2672 🔒 Beveiliging Update System.Security.Cryptography.Pkcs naar 8.0.2 (CVE-2026-84008 / CVE-2026-70162)
ANNOTATIONNET-2102 🔧 Oplossing Los FileTypeNotSupportedException op bij het extraheren van annotaties uit EML-documenten
ANNOTATIONNET-1903 🔧 Oplossing Los documenten die door oudere versies zijn geannoteerd en niet openen op .NET 8 op
ANNOTATIONNET-2689 🔧 Oplossing Los het verlies van PDF-paginadraaien met 90 graden bij opslaan op

Externe bronnen worden niet langer standaard geladen

Een document kan verwijzen naar bronnen buiten zichzelf: een <img src="https://..."> in een HTML-pagina of e-mailbericht, een gekoppelde afbeelding in een Word‑document, een extern stijlblaadje of een externe werkmapkoppeling. Tot nu toe zorgde het openen, voorvertonen of opslaan van zo’n document ervoor dat GroupDocs.Annotation die bronnen van het netwerk of een bestandsdeling opvroeg.

Op een server die onbetrouwbare documenten verwerkt, is dit een server‑side request forgery (SSRF)‑risico: een document kan de server interne adressen laten aanroepen, en een UNC‑pad kan de Windows‑referenties van het proces lekken.

Vanaf versie 26.10 worden externe bronnen standaard overgeslagen voor Word‑verwerking, HTML, e‑mail, presentatie‑ en spreadsheet‑documenten:

  • Geen verzoeken. Er wordt geen netwerk‑ of bestandsdeel‑verzoek gedaan voor bronnen die door het document worden verwezen, in welke bewerking dan ook: Get, Add, Save, GeneratePreview en GetDocumentInfo.
  • Lege tijdelijke aanduidingen. Een overgeslagen afbeelding wordt weergegeven als een transparante tijdelijke aanduiding, en de oorspronkelijke link wordt behouden in het opgeslagen document.
  • Ingesloten inhoud werkt nog steeds. cid:‑onderdelen van een e‑mail, data:‑URI’s en ingesloten afbeeldingen worden altijd geladen.
  • Afbeeldingsannotaties worden niet beïnvloed. ImageAnnotation.ImagePath wordt nog steeds van een URL geladen.

Dit is een gedragsverandering. Als uw documenten afhankelijk zijn van het weergeven van externe afbeeldingen of stijlblaadjes, sta deze dan expliciet toe met de nieuwe LoadOptions‑leden:

Lid Standaard Beschrijving
SkipExternalResources true Sla externe bronnen over. Stel in op false om het gedrag vóór 26.10 te herstellen.
WhitelistedResources empty Hostnamen of absolute URI‑prefixen die geladen worden zelfs wanneer bronnen worden overgeslagen.
ExternalResourceHandler null Wordt aangeroepen voor elke externe bron; deze kan de bron toestaan, overslaan of de inhoud leveren.

Sta alleen vertrouwde hosts toe (aanbevolen):

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
}

Inspecteer, sta toe of vervang elke bron met een handler:

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");
    }
}

Bijgewerkte documentengines

De meegeleverde Word‑verwerking, spreadsheet, presentatie, PDF, diagram, e‑mail, imaging, CAD‑ en grafische render‑engines zijn bijgewerkt naar hun releases van oktober 2026. Geregenereerde documenten en paginavoorvertoningen kunnen enigszins verschillen op byte‑ of pixelniveau, terwijl ze visueel gelijk blijven.

Voor .NET 6‑ en .NET 8‑projecten hangen de runtime‑pakketten nu af van SkiaSharp 4.152.1. Als uw project direct SkiaSharp 3.x gebruikt, werk het dan bij naar 4.x.

Beveiligingsupdate

De documentengines brengen System.Security.Cryptography.Pkcs 8.0.0 of 8.0.1 mee, die getroffen zijn door CVE‑2026‑84008 en CVE‑2026‑70162. GroupDocs.Annotation verwijst nu naar de gepatchte 8.0.2 op elk doel‑framework. Er zijn geen code‑wijzigingen nodig.

Oplossingen

  • EML vanuit een stream. Een EML‑bericht dat begint met MIME-Version: 1.0 werd gedetecteerd als een MHT‑archief, en het openen ervan vanuit een stream gooide FileTypeNotSupportedException. Dergelijke berichten openen nu op dezelfde manier vanuit een stream en een bestand, en MHT‑bestanden worden nu ondersteund als e‑mail‑documenten.
  • Oudere documenten op .NET 8. Documenten die geannoteerd zijn door versies vóór 26.6 konden niet worden geopend op .NET 8 met NotSupportedException. Ze openen nu: de legacy‑annotaties worden overgeslagen met een log‑waarschuwing, en nieuwe annotaties kunnen worden toegevoegd en opgeslagen. Een gerelateerd probleem met opnieuw opgeslagen presentaties (PPTX) waarvan de annotaties niet konden worden teruggelezen, is op alle frameworks opgelost.
  • PDF‑rotatie met 90 graden. Het roteren van een PDF‑pagina met Annotator.Rotation werkte voor 180 en 270 graden, maar een rotatie van 90 graden ging verloren bij opslaan. Deze wordt nu bewaard voor elke hoek:
using (Annotator annotator = new Annotator("input.pdf"))
{
    annotator.ProcessPages = 1;                 // the page to rotate
    annotator.Rotation = RotationDocument.on90; // previously ignored
    annotator.Save("output.pdf");
}

Wijzigingen in de openbare API

De release voegt de volgende leden toe:

Er zijn geen openbare leden verwijderd of gewijzigd.

Hoe u de update krijgt

NuGet

Installeer of upgrade naar GroupDocs.Annotation 26.10.0 via NuGet. Het pakket lost automatisch het runtime‑pakket op voor uw doel‑framework (.NET Framework 4.6.2, .NET 6 of .NET 8):

dotnet add package GroupDocs.Annotation --version 26.10.0

Directe download

Download de release van de GroupDocs.Annotation for .NET 26.10 pagina.

Bronnen