• OpenVPN 2.6.16 släppt – löser säkerhetshål och förbättrar stabiliteten

    OpenVPN 2.6.16 har släppts med fokus på förbättrad säkerhet och stabilitet. Uppdateringen åtgärdar en nyligen upptäckt sårbarhet som påverkar hanteringen av TLS-handshakepaket och förbättrar därmed skyddet mot överbelastningsattacker. Samtidigt rättas flera buggar från tidigare versioner, vilket gör denna uppdatering särskilt viktig för drift av OpenVPN-servrar i produktionsmiljö.

    OpenVPN 2.6.16 släppt – löser säkerhetshål och förbättrar stabiliteten

    OpenVPN 2.6.16 har idag släppts som den senaste stabila versionen av det öppna VPN-systemet som används globalt för att skapa säkra punkt-till-punkt- eller plats-till-plats-anslutningar i både routed- och bridged-lägen. OpenVPN är ett av de mest etablerade verktygen för säker fjärråtkomst.

    Säkerhetsfix: CVE-2025-13086

    Denna version är en mindre uppdatering men viktig ur säkerhetsperspektiv. Den åtgärdar säkerhetssårbarheten CVE-2025-13086, som rörde en felaktig memcmp-kontroll vid HMAC-verifiering i den så kallade 3-way handshake-processen. Felet gjorde att det HMAC-baserade skyddet mot överbelastningstillstånd vid mottagning av förfalskade TLS-handshakepaket på OpenVPN-servern inte fungerade som avsett.

    Övriga rättningar

    Flera andra buggar har också åtgärdats i den här versionen, bland annat:

    • Felaktig pekarhantering i funktionen tls_pre_decrypt()
    • Problem med autentiseringsplugin/script
    • Saknat anrop till perf_pop() (används vid prestandaprofiler)
    • Flera Windows-relaterade fel
    • Andra mindre korrigeringar

    Bakgrund från version 2.6.15

    Den föregående versionen, OpenVPN 2.6.15, släpptes för två månader sedan och återinförde stöd för att explicit konfigurera broadcast-adressen på Linux-gränssnitt där detta är relevant. Funktionen hade tidigare tagits bort med argumentet att systemet automatiskt kunde sätta denna adress, men i praktiken visade det sig att kernel netlink-gränssnittet installerade “0.0.0.0” som IP-adress. Detta orsakade problem för program som baserar sina nätverksinställningar på output från ifconfig.

    Återinförandet korrigerade därmed kompatibilitetsproblem för broadcast-baserade applikationer.

    Version 2.6.15 introducerade också:

    • Striktare validering av DNS-domännamn med positivlista över tillåtna tecken (inklusive UTF-8-tecken) innan domännamnet trafikeras genom PowerShell
    • Ytterligare kontroller av inkommande TLS-handshakepaket innan nya anslutningssessioner skapas, vilket förbättrar hanteringen av klienter som växlar nätverk mycket tidigt men ändå skickar kontrollkanalspaket från sin ursprungliga IP

    Installation

    Den senaste versionen av OpenVPN kan laddas ner som källkod från GitHub för den som vill kompilera programmet manuellt. För de flesta användare rekommenderas dock att följa installationsinstruktioner för respektive Linux-distribution, exempelvis Debian, Ubuntu, openSUSE/SLES eller Fedora/RHEL.

    Sammanfattning

    PunktInformation
    VersionOpenVPN 2.6.16
    SäkerhetsfixCVE-2025-13086
    BuggrättningarTLS-hantering, auth-script, Windows-problem m.m.
    Viktigt från 2.6.15Broadcast-adress, DNS-validering, förbättrad TLS-kontroll
    TillgänglighetKällkod via GitHub, installationsguider för Linux

    Slutsats

    Även om OpenVPN 2.6.16 inte innehåller stora funktionsnyheter är den starkt rekommenderad att uppgradera till, särskilt på serversidan, med tanke på den åtgärdade säkerhetssårbarheten och förbättrad stabilitet. Installation bör ske så snart som möjligt i miljöer där OpenVPN används i produktion.

    Faktaruta: OpenVPN

    Typ av mjukvara:

    Öppen källkod, VPN-lösning

    Huvudfunktioner:

    • Skapar säkra punkt-till-punkt- eller plats-till-plats-anslutningar
    • Stöd för både routed (Layer 3) och bridged (Layer 2) VPN-läge
    • Kryptering av nätverkstrafik med TLS/SSL
    • Autentisering via certifikat, användarnamn/lösenord eller tvåfaktorslösning
    • Möjlighet att använda HMAC för att skydda mot DoS- och spoofing-attacker
    • Stöd för IPv4 och IPv6

    Plattformar:

    Linux, Windows, macOS, BSD, Android, iOS samt integrering i routrar och embedded-system

    Protokoll:

    • Körs över UDP eller TCP
    • Kan köra över valfri port
    • Stödjer tunnling av IP, Ethernet och virtuella nätverksgränssnitt

    Säkerhet:

    • Kryptering upp till AES-256
    • Möjlighet att använda Perfect Forward Secrecy (PFS)
    • Stöd för TLS-versionering och hårdare säkerhetsprofiler
    • Kan använda pkcs11, smartkort och TPM för nyckelhantering

    Administration och drift:

    • Kan köras som server eller klient
    • Centraliserad användarhantering via plugin/script
    • Integration med AD, LDAP och RADIUS
    • Stöd för loggning och profilering

    Populära användningsområden:

    • Fjärråtkomst till företagsnätverk
    • Säker anslutning mellan två geografiska platser
    • Privat surfning via VPN-tjänster
    • Kryptering av trafik vid offentliga Wi-Fi-nät
    • Används ofta tillsammans med brandväggs- och routinglösningar
  • Go 1.25 – Nya funktioner, snabbare prestanda och experimentella tekniker

    Go är ett urgammalt strategibrädspel från Kina, spelat med svarta och vita stenar på ett rutnät. Målet är att omringa områden och fånga motståndarens stenar. Det har inget att göra med programmeringsspråket Go. Reglerna är enkla men spelet är djupt och komplext.I Go betyder atari att en sten eller grupp har bara en fri punkt kvar och riskerar att fångas nästa drag. Företaget Atari valde namnet för att det signalerar ett kritiskt och avgörande läge i spelet.

    Go-projektet har släppt version 1.25 av sitt programmeringsspråk, och uppdateringen är full av förbättringar inom både verktyg, kompilator, runtime och standardbibliotek. Som vanligt kommer versionen precis sex månader efter föregångaren, men den här gången introduceras flera spännande nyheter – inklusive två större experimentella funktioner.

    Ny experimentell Garbage Collector
    En av de mest intressanta nyheterna är en ny garbage collector som är optimerad för att hantera många små objekt mer effektivt. Tester visar att den kan minska minneshanteringskostnaden med 10–40 % i praktiska scenarier. Den är inte aktiverad som standard – utvecklare behöver slå på den själva och kan sedan lämna feedback till Go-teamet.

    Snabbare och mer flexibel JSON-hantering
    Den andra stora experimentella nyheten är paketet encoding/json/v2. Det är en uppdaterad JSON-implementation som lovar snabbare avkodning och fler konfigurationsmöjligheter. Även den här funktionen kräver att man aktivt väljer att använda den.

    Automatisk optimering i container-miljöer
    Go 1.25 gör att GOMAXPROCS nu automatiskt anpassar sig efter tillgängliga CPU-resurser i miljöer som Kubernetes. Tidigare krävdes manuell konfigurering för att uppnå detta.

    Förbättringar i kompilatorn

    • Snabbare allokering av slices.
    • DWARF5-debuginformation, vilket minskar storleken på binärer och påskyndar länkning, särskilt i större projekt.

    Förbättrade utvecklingsverktyg

    • Nya go vet-kontroller som fångar upp vanliga programmeringsfel.
    • Möjlighet att ignorera mappar direkt i go.mod.
    • go doc kan nu köra en lokal dokumentationsserver med flaggan -http.
    • Ett helt nytt paket – testing/synctest – gör det lättare att testa parallell kod utan risk för klassiska race condition-problem.

    Standardbiblioteket och säkerhet

    • Förbättrad prestanda i kryptografiska algoritmer.
    • Mer konsekvent hantering av ASN.1-data.
    • Nya funktioner för nätverks- och TLS-anslutningar.

    Plattformsförändringar

    • Äldre versioner av macOS stöds inte längre.
    • Go 1.25 är den sista versionen med stöd för 32-bitars Windows/ARM, som nu tas ur bruk.

    Tillgänglighet
    Go 1.25 kan laddas ned som färdiga binärfiler och installationspaket från den officiella nedladdningssidan. En fullständig lista över alla ändringar finns i Go 1.25 Release Notes, och fler blogginlägg från utvecklingsteamet väntas de närmaste veckorna.

    Exempel i språket go

    Ett enkelt program som skriver Hello, World! i terminalen:

    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello, World!")
    }
    

    Förklaring:

    • package main – anger att programmet är ett körbart program.
    • import "fmt" – tar in paketet fmt för utskrift.
    • func main() – huvudfunktionen som körs först.
    • fmt.Println(...) – skriver ut text med radbrytning.

    Kör programmet:

    go run hello.go

    Kompilera till en binärfil:

    go build -o hello hello.go
    ./hello

    Faktaruta: programmeringsspråket Go

    Översikt

    Go (även kallat Golang) är ett kompilerat, statiskt typat språk från Google med inbyggd stöd för samtidighet (goroutines och kanaler), snabb kompilering och enkel distribution som fristående binärer.

    Vad språket klarar

    • Högpresterande nätverks- och serverprogram med låg latens.
    • Massiv samtidighet via goroutines och chan utan trådbekymmer.
    • Snabb kompilering till statiska, portabla binärer (lätt att containerisera).
    • Inbyggd minnessäkerhet och garbage collection.
    • Stort standardbibliotek: nätverk, HTTP, kryptografi, testning m.m.
    • Förstklassiga verktyg: go build, go test, go fmt, go vet, moduler.

    Vanliga användningsområden

    • Moln- och mikrotjänster, REST/GraphQL-API:er.
    • Distribuerade system, nätverksservrar, proxyer och gateways.
    • DevOps- och plattformsverktyg (t.ex. Docker, delar av Kubernetes-ekosystemet).
    • Kommandoradsverktyg och automation.
    • Data- och meddelandeflöden (streaming), observability/telemetri.

    Kort historik

    • Startat på Google av Robert Griesemer, Rob Pike och Ken Thompson.
    • Offentligt presenterat 2009; version 1.0 släpptes 2012.
    • Designmål: enkelhet, snabbhet, effektiv samtidighet och stark verktygskedja.

    Styrkor & saker att känna till

    • Styrkor: enkel syntax, snabb kompilering, robust standardbibliotek, utmärkt samtidighetsmodell.
    • Observera: minimalistisk generik (finns), inga undantag (errors hanteras explicit), mindre fokus på OOP-arv; GUI och mycket tunga numeriska arbetsflöden görs ofta i andra ekosystem.

    Exempel (körbar binär i en fil): go build -o app .

Etikett: TLS

  • OpenVPN 2.6.16 släppt – löser säkerhetshål och förbättrar stabiliteten

    OpenVPN 2.6.16 har släppts med fokus på förbättrad säkerhet och stabilitet. Uppdateringen åtgärdar en nyligen upptäckt sårbarhet som påverkar hanteringen av TLS-handshakepaket och förbättrar därmed skyddet mot överbelastningsattacker. Samtidigt rättas flera buggar från tidigare versioner, vilket gör denna uppdatering särskilt viktig för drift av OpenVPN-servrar i produktionsmiljö. OpenVPN 2.6.16 släppt – löser säkerhetshål och förbättrar…

  • Go 1.25 – Nya funktioner, snabbare prestanda och experimentella tekniker

    Go-projektet har släppt version 1.25 av sitt programmeringsspråk, och uppdateringen är full av förbättringar inom både verktyg, kompilator, runtime och standardbibliotek. Som vanligt kommer versionen precis sex månader efter föregångaren, men den här gången introduceras flera spännande nyheter – inklusive två större experimentella funktioner. Ny experimentell Garbage CollectorEn av de mest intressanta nyheterna är en…