For the complete documentation index, see llms.txt. This page is also available as Markdown.

30.3 Third-Party Vulnerabilities and Security Advisories

FreeBSD uses pkg audit to query the vulnerability database (VuXML), providing CVE alerts for installed third-party software packages. This section introduces the audit command usage and explains the standard format of Security Advisories.

Monitoring Third-Party Security Issues

pkg polls a security issue database maintained by the FreeBSD security team and ports developers. This database can be kept automatically up-to-date through the periodic configuration file.

Specifically, the database references data from https://www.vuxml.org/freebsd/index.html by default.

Heavy use of third-party tools increases the risk of system intrusion. To audit third-party tools in Ports, administrators can update the database and check for known vulnerabilities in installed packages:

$ pkg audit -F

The output should resemble the following:

vulnxml file up-to-date
chromium-116.0.5845.96_1 is vulnerable:
  chromium -- multiple vulnerabilities
  CVE: CVE-2023-4431
  CVE: CVE-2023-4427
  CVE: CVE-2023-4428
  CVE: CVE-2023-4429
  CVE: CVE-2023-4430
  WWW: https://vuxml.FreeBSD.org/freebsd/5fa332b9-4269-11ee-8290-a8a1599412c6.html

samba413-4.13.17_5 is vulnerable:
  samba -- multiple vulnerabilities
  CVE: CVE-2023-3347
  CVE: CVE-2023-34966
  CVE: CVE-2023-34968
  CVE: CVE-2022-2127
  CVE: CVE-2023-34967
  WWW: https://vuxml.FreeBSD.org/freebsd/441e1e1a-27a5-11ee-a156-080027f5fec9.html

2 problem(s) in 2 installed package(s) found.

When there are no vulnerabilities, or no third-party software is installed, the output resembles the following:

By opening the displayed URL in a browser, administrators can obtain more information about the vulnerability.

This information includes the affected versions (by FreeBSD port version) and possibly other websites with relevant security advisories.

Security Advisories

The FreeBSD Project has a security team responsible for determining the end-of-life (EoL) dates for each FreeBSD version and providing security updates for supported versions that have not yet reached EoL. For more information, see the FreeBSD security page.

One of the responsibilities of the security team is to respond to reported security vulnerabilities in the FreeBSD operating system. Once a vulnerability is confirmed, the security team verifies the steps required for the fix and commits the fix to the source code, then publishes the details as a "Security Advisory." Security advisories are published on the FreeBSD website and mailed to the FreeBSD security notifications mailing list, the FreeBSD security mailing list, and the FreeBSD announcements mailing list.

Format of Security Advisories

Each security advisory follows this format:

  • Each security advisory is signed with the Security Officer's PGP key. The Security Officer's public key can be verified at OpenPGP Keys.

  • The security advisory name always begins with FreeBSD-SA- (denoting FreeBSD Security Advisory), followed by a two-digit year (e.g., 26 for 2026, followed by a colon), the advisory sequence number for that year (08. being the 8th), and then the name of the affected application or subsystem (rpcsec_gss).

Field
Description

Topic

Summarizes the vulnerability

Category

Indicates the affected part of the system, which can be core, contrib, or ports. core indicates the vulnerability affects a core component of the FreeBSD operating system; contrib indicates it affects software shipped with FreeBSD (such as BIND); ports indicates it affects software available through the Ports Collection

Module

Indicates the component location. In this example, the rpcsec_gss module is affected, so the vulnerability affects an application installed with the operating system

Announced

The date the security advisory was published, indicating that the security team has verified the issue exists and the fix has been committed to the FreeBSD source repository

Credits

Acknowledges the individuals or organizations who discovered and reported the vulnerability

Affects

Indicates which FreeBSD versions are affected by this vulnerability

Corrected

Indicates the date, time, timezone, and version when the correction was made. The branches and their version numbers that have the fix merged are shown in parentheses. The version identifier includes the version number and, where applicable, the patch level — the letter p followed by a number indicates the patch sequence number, allowing users to track applied patches

CVE Name

Lists the advisory number in the public CVE database (if one exists)

Background

Provides a description of the affected module

Problem Description

Explains the vulnerability, potentially including information about the code defect and how it could be maliciously exploited

Impact

Describes the potential impact of the issue on the system

Workaround

Indicates whether a workaround exists for systems that cannot be immediately patched

Solution

Provides instructions for patching the affected system, a method that has been step-by-step tested and verified to ensure the system operates securely after patching

Correction Details

Lists the affected Git branches and the revision numbers containing the corrected code

References

Provides additional sources of information about the vulnerability

Exercises

  1. Run pkg audit -F to obtain a list of all installed packages with known vulnerabilities, select a high-severity vulnerability from the list, and look up its detailed information in the CVE database.

  2. Review all security advisories (FreeBSD-SA) published on the official FreeBSD website and create a histogram showing the year and the number of advisories.

  3. In a test environment, downgrade a software package to an older version with a known vulnerability, run pkg audit to verify the vulnerability detection result, then fix the vulnerability and run the detection again, documenting the complete process.

Last updated