Security Advisories (1)
CVE-2025-40909 (2025-05-30)

Perl threads have a working directory race condition where file operations may target unintended paths. If a directory handle is open at thread creation, the process-wide current working directory is temporarily changed in order to clone that handle for the new thread, which is visible from any third (or more) thread already running. This may lead to unintended operations such as loading code or accessing files from unexpected locations, which a local attacker may be able to exploit. The bug was introduced in commit 11a11ecf4bea72b17d250cfb43c897be1341861e and released in Perl version 5.13.6

NAME

Encode::KR - Korean Encodings

SYNOPSIS

use Encode qw/encode decode/; 
$euc_kr = encode("euc-kr", $utf8);   # loads Encode::KR implicitly
$utf8   = decode("euc-kr", $euc_kr); # ditto

DESCRIPTION

This module implements Korean charset encodings. Encodings supported are as follows.

Canonical   Alias		Description
--------------------------------------------------------------------
euc-kr      /\beuc.*kr$/i	EUC (Extended Unix Character)
        /\bkr.*euc$/i
ksc5601-raw			Korean standard code set (as is)
cp949	      /(?:x-)?uhc$/i
            /(?:x-)?windows-949$/i
            /\bks_c_5601-1987$/i
                              Code Page 949 (EUC-KR + 8,822 
                              (additional Hangul syllables)
MacKorean			EUC-KR + Apple Vendor Mappings
johab       JOHAB             A supplementary encoding defined in 
                                           Annex 3 of KS X 1001:1998
iso-2022-kr                   iso-2022-kr                  [RFC1557]
--------------------------------------------------------------------

To find how to use this module in detail, see Encode.

BUGS

When you see charset=ks_c_5601-1987 on mails and web pages, they really mean "cp949" encodings. To fix that, the following aliases are set;

qr/(?:x-)?uhc$/i         => '"cp949"'
qr/(?:x-)?windows-949$/i => '"cp949"'
qr/ks_c_5601-1987$/i     => '"cp949"'

The ASCII region (0x00-0x7f) is preserved for all encodings, even though this conflicts with mappings by the Unicode Consortium.

SEE ALSO

Encode