BSDSec

deadsimple BSD Security Advisories and Announcements

FreeBSD Errata Notice FreeBSD-EN-25:03.tzdata

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

=============================================================================
FreeBSD-EN-25:03.tzdata                                         Errata Notice
                                                          The FreeBSD Project

Topic:          Timezone database information update

Category:       contrib
Module:         zoneinfo
Announced:      2025-01-29
Affects:        All supported versions of FreeBSD
Corrected:      2025-01-20 00:25:35 UTC (stable/14, 14.2-STABLE)
                2025-01-29 18:54:53 UTC (releng/14.2, 14.2-RELEASE-p1)
                2025-01-29 18:55:24 UTC (releng/14.1, 14.1-RELEASE-p7)
                2025-01-20 00:26:44 UTC (stable/13, 13.4-STABLE)
                2025-01-29 18:55:26 UTC (releng/13.4, 13.4-RELEASE-p3)

For general information regarding FreeBSD Errata Notices and Security
Advisories, including descriptions of the fields above, security
branches, and the following sections, please visit
<URL:https://security.FreeBSD.org/>.

I.   Background

The IANA Time Zone Database (often called tz or zoneinfo) contains code and
data that represent the history of local time for many representative
locations around the globe.  It is updated periodically to reflect changes
made by political bodies to time zone boundaries, UTC offsets, and
daylight-saving rules.

FreeBSD releases install the IANA Time Zone Database in /usr/share/zoneinfo.
The tzsetup(8) utility allows the user to specify the default local time
zone.  Based on the selected time zone, tzsetup(8) copies one of the files
from /usr/share/zoneinfo to /etc/localtime.  A time zone may also be selected
for an individual process by setting its TZ environment variable to a desired
time zone name.

II.  Problem Description

Several changes to future and past timestamps have been recorded in the IANA
Time Zone Database after previous FreeBSD releases were released.  This
affects many users in different parts of the world.  Because of these
changes, the data in the zoneinfo files need to be updated.  If the local
timezone on the running system is affected, tzsetup(8) needs to be run to
update /etc/localtime.

III. Impact

An incorrect time will be displayed on a system configured to use one of the
affected time zones if the /usr/share/zoneinfo and /etc/localtime files are
not updated, and all applications on the system that rely on the system time,
such as cron(8) and syslog(8), will be affected.

IV.  Workaround

The system administrator can install an updated version of the IANA Time Zone
Database from the misc/zoneinfo port and run tzsetup(8).

Applications that store and display times in Coordinated Universal Time (UTC)
are not affected.

V.   Solution

Upgrade your system to a supported FreeBSD stable or release / security
branch (releng) dated after the correction date.

Please note that some third party software, for instance PHP, Ruby, Java,
Perl and Python, may be using different zoneinfo data sources, in such cases
this software must be updated separately.  Software packages that are
installed via binary packages can be upgraded by executing 'pkg upgrade'.

Following the instructions in this Errata Notice will only update the IANA
Time Zone Database installed in /usr/share/zoneinfo.

Perform one of the following:

1) To update your system via a binary patch:

Systems running a RELEASE version of FreeBSD on the amd64 or arm64 platforms,
or the i386 platform on FreeBSD 13, can be updated via the freebsd-update(8)
utility:

# freebsd-update fetch
# freebsd-update install

Restart all the affected applications and daemons, or reboot the system.

2) To update your system via a source code patch:

The following patches have been verified to apply to the applicable
FreeBSD release branches.

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

[FreeBSD 14.2]
# fetch https://security.FreeBSD.org/patches/EN-25:03/tzdata-2025a.patch
# fetch https://security.FreeBSD.org/patches/EN-25:03/tzdata-2025a.patch.asc
# gpg --verify tzdata-2025a.patch.asc

[FreeBSD 14.1, FreeBSD 13.4]
# fetch https://security.FreeBSD.org/patches/EN-25:03/tzdata-2024b-2025a.patch
# fetch https://security.FreeBSD.org/patches/EN-25:03/tzdata-2024b-2025a.patch.asc
# gpg --verify tzdata-2024b-2025a.patch.asc

b) Apply the patch.  Execute the following commands as root:

# cd /usr/src
# patch < /path/to/patch

c) Recompile the operating system using buildworld and installworld as
described in <URL:https://www.FreeBSD.org/handbook/makeworld.html>.

Restart all the affected applications and daemons, or reboot the system.

VI.  Correction details

This issue is corrected as of the corresponding Git commit hash in the
following stable and release branches:

Branch/path                             Hash                     Revision
- -------------------------------------------------------------------------
stable/14/                              a158d26e89f2    stable/14-n270163
releng/14.2/                            b9149a3af722  releng/14.2-n269509
releng/14.1/                            40928c124157  releng/14.1-n267734
stable/13/                              2d6dcb4f97f8    stable/13-n259027
releng/13.4/                            eb9d8bafa485  releng/13.4-n258271
- -------------------------------------------------------------------------

Run the following command to see which files were modified by a
particular commit:

# git show --stat <commit hash>

Or visit the following URL, replacing NNNNNN with the hash:

<URL:https://cgit.freebsd.org/src/commit/?id=NNNNNN>

To determine the commit count in a working tree (for comparison against
nNNNNNN in the table above), run:

# git rev-list --count --first-parent HEAD

VII. References

<URL:https://github.com/eggert/tz/blob/2025a/NEWS>

The latest revision of this advisory is available at
<URL:https://security.FreeBSD.org/advisories/FreeBSD-EN-25:03.tzdata.asc>
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmeajKUACgkQbljekB8A
Gu9cFhAAuGVUEwz0fggS27AahJHjh1a7SCwCh0lqRqedqsyRwJ4hoMoU2D7u5MCa
w6uhBGHP5WeaKhKjMuZy339qE1mDrlm07uaoAdoum1BcmbdPIbUBrnXVYyPXuaCo
ao92VBXRjDYaPlWtiK2z8DUyzYorHyH8TPtI64T05AnbkgblZl7jzwK/QLljqo0X
33VhZF5ZGpHhdEr5lmx1Rx7dKfItgX7WGjnWFwQ7Y3J9pieCXggNjiHwjoXxz3Vz
mZoRntnQ1JNTxEyPb69vokNCpOg03ateUTqGz/6JSR3quHqt78hXns4sVwYF9aSh
A486DFzSHhW7Wl5moGSTl28GYFiU4mB7775Ui3wBEC2hI+UrH5etnmXjsr0kVOxE
gmjLPwFcNqUZE+u3TmLTn7oRxftziwQ2qCWsfORyKfOP3fU0CrR41eOPWmNeCaVn
rP5dmkYP857CcPjzDdt0UwI0ZSpirc304HxU9H4J69BBe2CLS4IC74SEr5hloZnY
QNF66nyZ0dfU2Rf2ojwJ9FdHS9DyB5cnG7yMp6rn74ORrz7Gug2UO4UHVJwQ58Ji
GWgZhENaGDbA8PO3X9ptoNAtmuYG4XFn4AxzqQ6cUfnveItVzRZr10qGE7WMhNjH
/yVAV6swGSZWFdl05Km+75WHX/+7cQrGOgsWJt1yHkzRsYVS8K0=x7nl
-----END PGP SIGNATURE-----