1
0
mirror of https://github.com/libjpeg-turbo/libjpeg-turbo.git synced 2026-10-23 11:48:53 +03:00
Files
libjpeg-turbo/.github/SECURITY.md
DRC bcde0a0e0d SECURITY.md: Unmention GitHub security advisories
Unfortunately, the GitHub security advisory system has become rife with
abuse.  Not a single issue reported using that system has been a
legitimate security vulnerability.  Rather, the reported issues have
fallen into the following categories:

- Blatant API abuse, sometimes due to AI-written test harnesses

  A few of these exposed opportunities for API hardening, but none was
  exploitable.  Basically, if a program abused the API in the same way
  as the aforementioned test harnesses, then the program could never
  work with any image, and such a bug would never make it into the wild.
  To put it another way, if a program calls:

    unsigned char *buf1 = (unsigned char *)malloc(1);
    unsigned char *buf2 = (unsigned char *)malloc(1);
    memcpy(buf2, buf1, 2);

  then that is not a security vulnerability in the C library.  It is a
  caller bug.

- Outright test harness bugs (e.g. failing to allocate enough memory for
  a packed-pixel output buffer)

- Downstream bugs in other software

- Legitimate but unexploitable bugs in example code that is distributed
  as part of the libjpeg-turbo documentation

- Potential but unconfirmed code quality issues reported by automated
  tools (possibly bots, because none of the posters replied to followup
  questions) against EOL versions of libjpeg-turbo

- One of the known issues reported in
  https://libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf
  (both of which are endemic to the progressive JPEG format but can be
  worked around in both the libjpeg and TurboJPEG APIs)

- User confusion regarding the documented API behavior (which exposed
  opportunities to clarify the documentation)

- Nonsensical spam by what appeared to be a bot account fishing for a
  security patch reward

Unfortunately, with a high-profile project such as libjpeg-turbo,
certain "security researchers" try to use our project as a springboard
for self-promotion.  They file draft security advisories on a knee-jerk
basis, in the hope that one of them will be accepted.  Not once has
anyone who filed such a draft advisory demonstrated that they had
actually read our security policy.

Even more unfortunately, GitHub provides no way to make a draft security
advisory public without accepting it as a vulnerability.  Thus, some
potentially useful information about the aforementioned issues has
remained hidden from the community.  Honestly, I would have no problem
with the system if it simply allowed me to convert a draft security
advisory into a regular GitHub issue.

IMHO, the best way forward is to restrict the filing of draft security
advisories to project admins.  The system is still active, and I can
still use it to file draft security advisories if there is a legitimate
need, but regular users will need to report the potential issue to me
first using another method.
2026-01-26 14:17:55 -05:00

2.5 KiB

Security Policy

Supported Versions

Fixes for security vulnerabilities are proactively applied to any applicable branch/release series that is in the Next-Gen, Active, Maintenance, or Extended support category.

What Is a Security Vulnerability?

A security vulnerability is a bug in an official, supported release of libjpeg-turbo whereby an otherwise well-behaved calling program can trigger a potentially exploitable failure (such as a buffer overrun, an uninitialized read, or undefined behavior) in one of the libraries by passing malformed image data to a public API function.

  • If the calling program itself is malformed and could not work properly with any image, then its inevitable failure is not a security vulnerability. Such issues should be reported using a GitHub bug report, and they will be investigated as opportunities for API hardening.

  • If the issue affects only Alpha/Evolving code or has otherwise not officially been released, then it is not (yet) a security vulnerability. Such issues should be reported using a GitHub bug report.

  • If the issue affects only an EOL branch/release series, then it is not a security vulnerability. (Per above, fixes for security vulnerabilities are not proactively applied to EOL branches/release series.) Such issues can be reported using a GitHub bug report, but the suggested remedy will likely be to upgrade to a supported release.

Reporting a Security Vulnerability

Vulnerabilities can be reported in one of the following ways:

  • E-mail the project admin. You can optionally encrypt the e-mail using the provided public GPG key.

  • Beta and Post-Beta code is not expected to be free of bugs, so vulnerabilities that affect only that code (for example, vulnerabilities introduced by a new feature that is not present in a Stable release series) can optionally be reported using a GitHub bug report.