Critical security advisoryCriticalFlagged by our vulnerability database: PHP2Shell is on CISA’s exploited list. Most WordPress hosting runs PHP. See if your site is affectedFlagged by our vulnerability database: PHP2Shell is being exploited. DetailsExploited: PHP2Shell. Check your site
HuttenlocherTechnologies
Updated 5 h ago

Vulnerability database

Every flaw the U.S. government’s cybersecurity agency (CISA) has confirmed attackers are using, plus the new WordPress plugin and theme bugs published each day, sorted by what they mean for a small business. We refresh it twice a day. If you see something your website or office runs, tell us.

1,762exploited flaws on CISA’s list
34added in the last 30 days
324new WordPress flaws this week
390,007entries in the database

1,912 results · page 2 of 39

  • Oct 21, 2026Pillow is a Python imaging library.CVE-2026-96644 · Other software · python-pillow · reported by GitHubHigh 7.1

    Pillow is a Python imaging library. Prior to 13.0.0 on Windows, src/PIL/WmfImagePlugin.py passes unchecked 32-bit WMF or EMF dimensions to the native drawwmf handler in src/display.c. The handler sizes a DIB allocation from 16-bit-truncated bcWidth and bcHeight fields but copies pixel data using the original full dimensions. A crafted wide, short metafile can pass the pixel-count decompression-bomb check and make the Windows-only renderer read beyond the heap buffer, potentially disclosing memory or crashing the process. This issue is fixed in version 13.0.0.

    Product
    Pillow
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026Pillow is a Python imaging library.CVE-2026-96643 · Other software · python-pillow · reported by GitHubHigh 7.1

    Pillow is a Python imaging library. From 11.0.0 until 13.0.0, Exif.load() in src/PIL/Image.py repeatedly slices the remaining EXIF data while it begins with the six-byte Exif header. src/PIL/PngImagePlugin.py accepts an uncapped PNG eXIf chunk, so a file filled with repeated headers causes a new shrinking copy on every iteration and quadratic CPU work. The condition is reachable through Image.getexif(), Image._getexif(), and ImageOps.exif_transpose(), including common photo-upload rotation workflows. This issue is fixed in version 13.0.0.

    Product
    Pillow
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026Pillow is a Python imaging library.CVE-2026-96642 · Other software · python-pillow · reported by GitHubHigh 7.1

    Pillow is a Python imaging library. Prior to 13.0.0, the TarIO initializer in src/PIL/TarIO.py accepts a negative octal member size and computes a backward seek that returns to the same 512-byte header. When the requested member name does not match, the parser repeatedly reads that header, consumes a full CPU core, and never returns. TarIO is reached only when an application directly uses PIL.TarIO.TarIO rather than the default Image.open() path. This issue is fixed in version 13.0.0.

    Product
    Pillow
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026Pillow is a Python imaging library.CVE-2026-96641 · Other software · python-pillow · reported by GitHubMedium 6.5

    Pillow is a Python imaging library. Prior to 13.0.0, PILfont text-width accumulation in src/_imaging.c checks positive glyph advances against INT_MAX but does not check negative advances against INT_MIN. Repeating a signed 16-bit advance of -32768 can therefore execute a signed C integer overflow in xsize += dx, producing a large positive width from a negative mathematical result. Applications that use getlength(), getsize(), or derived layout, quota, serialization, or allocation calculations can experience logic-integrity errors or resource consumption, while the high-level mask path commonly retains a decompression-bomb check. This issue is fixed in version 13.0.0.

    Product
    Pillow
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026Pillow is a Python imaging library.CVE-2026-96640 · Other software · python-pillow · reported by GitHubHigh 8.2

    Pillow is a Python imaging library. From 5.1.0 until 13.0.0, PdfParser.linearize_page_tree() in src/PIL/PdfParser.py treats a PDF /Pages graph as a tree without tracking duplicate indirect references. When Image.save(..., format="PDF", append=True) processes an attacker-controlled existing PDF whose /Kids arrays repeatedly reference the same child /Pages node, Pillow expands the shared subtree as distinct pages. A compact malformed PDF can therefore create exponentially many page references and consume disproportionate CPU before the append completes. This issue is fixed in version 13.0.0.

    Product
    Pillow
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026Pillow is a Python imaging library.CVE-2026-96639 · Other software · python-pillow · reported by GitHubCritical 9.8

    Pillow is a Python imaging library. From 11.0.0 until 13.0.0, multi-frame loaders can retain an ImagingCore allocation created for a narrow frame mode while a later frame of the same dimensions changes the logical mode and decoder tiles to wider RGB or CMYK data. ImageFile.load_prepare() reuses the stale native storage because _im is non-null without verifying that its mode and size still match. Crafted PSD, MPO, DCX, or MIC frame transitions can then write wider pixels into the narrow allocation, causing native out-of-bounds writes and crashes. The MPO path can also cause a native over-read and, in demonstrated runtime-specific profiles, command execution. This issue is fixed in version 13.0.0.

    Product
    Pillow
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026Pillow is a Python imaging library.CVE-2026-96638 · Other software · python-pillow · reported by GitHubMedium 6.5

    Pillow is a Python imaging library. From 9.1.0 until 13.0.0, BmpRleDecoder.decode() in src/PIL/BmpImagePlugin.py permits crafted RLE BMP delta escapes and absolute-mode runs to append beyond the remaining dest_length without a per-branch cap. A delta can add roughly 255 image rows in one iteration, so a kilobyte-sized file with a large but permitted width can expand the data bytearray to hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.

    Product
    Pillow
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026Pillow is a Python imaging library.CVE-2026-96637 · Other software · python-pillow · reported by GitHubHigh 7.1

    Pillow is a Python imaging library. Prior to 13.0.0, SpiderImageFile.seek() in src/PIL/SpiderImagePlugin.py reparses a later SPIDER stack frame and replaces self._size without rerunning Image._decompression_bomb_check(). A tiny file can use a safe first frame to pass Image.open() and then declare very large dimensions in a later mode F frame. Loading that frame allocates approximately four bytes per attacker-declared pixel and can consume multiple gigabytes of memory. This issue is fixed in version 13.0.0.

    Product
    Pillow
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026Pillow is a Python imaging library.CVE-2026-96636 · Other software · python-pillow · reported by GitHubMedium 6.5

    Pillow is a Python imaging library. Prior to 13.0.0, MpoImageFile.seek() and DcxImageFile.seek() reparse later MPO or DCX frames and replace self._size without rerunning Image._decompression_bomb_check(). A crafted multi-frame image can use a tiny first frame to pass Image.open() and then declare an over-limit later frame. Normal frame iteration through seek(), load(), or ImageSequence.Iterator can decode that frame and commit hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.

    Product
    Pillow
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026GitPython is a python library used to interact with Git repositories.CVE-2026-114145 · Other software · gitpython-developers · reported by GitHubHigh 7.5

    GitPython is a python library used to interact with Git repositories. Prior to 3.2.1, create_submodule() in git/objects/submodule/base.py accepts an attacker-influenced submodule path such as .git/hooks and invokes _clone_repo() before safely rejecting the destination. In 3.1.x, _validate_repo_path() does not exist and the call succeeds silently, while in 3.2.0 and later affected revisions the check in git/index/base.py raises ValueError only after the clone has written to disk and does not remove the planted file. An attacker-controlled submodule can therefore place an executable post-checkout hook that a later Git operation executes. Exploitation requires an application to accept an untrusted submodule path and a clone destination such as .git/hooks that is empty enough for Git to clone into it, which commonly means that default sample hooks are absent. This issue is fixed in version 3.2.1.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026Missing verification of source of a communication channel in the default_bucket() function in Amazon SageMaker Python SDK V3 before 3.10.0 and V2 before 2.257.3CVE-2026-112408 · Other software · AWS · reported by ff89ba41-3aa1-4d27-914a-91399e9639e5Critical 9.4

    Missing verification of source of a communication channel in the default_bucket() function in Amazon SageMaker Python SDK V3 before 3.10.0 and V2 before 2.257.3 might allow remote actors to achieve code execution in the target SageMaker execution environment and obtain IAM credentials via pre-creation of a predictably named S3 bucket that the SDK uses without ownership validation. To remediate this issue, users should upgrade to Amazon SageMaker Python SDK 3.10.0 (V3) or 2.257.3 (V2).

    Product
    Amazon SageMaker Python SDK
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026pypdf is a free and open-source pure-python PDF library.CVE-2026-113795 · Other software · py-pdf · reported by GitHubMedium 6

    pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, accessing a crafted PDF stream with a large number of filters or multiple filters that pass around large amounts of data can cause large memory consumption. This issue is fixed in version 6.20.0.

    Product
    pypdf
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026pypdf is a free and open-source pure-python PDF library.CVE-2026-113794 · Other software · py-pdf · reported by GitHubMedium 6

    pypdf is a free and open-source pure-python PDF library. Prior to 6.20.0, an attacker can craft an incomplete PDF that ends inside a standard cross-reference table, causing pypdf to mishandle the unexpected end of file and enter an infinite loop. This issue is fixed in version 6.20.0.

    Product
    pypdf
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026pypdf is a free and open-source pure-python PDF library.CVE-2026-113793 · Other software · py-pdf · reported by GitHubMedium 6

    pypdf is a free and open-source pure-python PDF library. Prior to 6.20.1, removing an object from a crafted cyclic PDF tree, such as an outline item, can enter an infinite loop and block the current process. This issue is fixed in version 6.20.1.

    Product
    pypdf
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026pypdf is a free and open-source pure-python PDF library.CVE-2026-113792 · Other software · py-pdf · reported by GitHubMedium 6

    pypdf is a free and open-source pure-python PDF library. Prior to 6.20.1, calling PdfWriter.find_outline_item on a crafted PDF with a cyclic outline hierarchy can enter an infinite loop and block the current process. This issue is fixed in version 6.20.1.

    Product
    pypdf
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026pypdf is a free and open-source pure-python PDF library.CVE-2026-113791 · Other software · py-pdf · reported by GitHubMedium 6

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing a content stream with many small operations, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.0.

    Product
    pypdf
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026pypdf is a free and open-source pure-python PDF library.CVE-2026-113790 · Other software · py-pdf · reported by GitHubMedium 6

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF containing arrays or dictionaries with many elements, causing parsing to consume large amounts of memory. This issue is fixed in version 6.21.0.

    Product
    pypdf
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026pypdf is a free and open-source pure-python PDF library.CVE-2026-113789 · Other software · py-pdf · reported by GitHubMedium 6

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.0, an attacker can craft a PDF that causes large memory usage or long runtimes when an application retrieves the document's form fields. This issue is fixed in version 6.21.0.

    Product
    pypdf
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 21, 2026pypdf is a free and open-source pure-python PDF library.CVE-2026-113786 · Other software · py-pdf · reported by GitHubLow 2.3

    pypdf is a free and open-source pure-python PDF library. Prior to 6.21.1, an attacker can craft a PDF containing image data labeled with the /DCTDecode filter that causes Pillow to select and invoke an unintended image parser when the image is loaded. Environments without the optional Pillow dependency are not affected. This issue is fixed in version 6.21.1.

    Product
    pypdf
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026Vyper 0.1.0b1 before 0.1.0b12, 0.1.0b14, and 0.4.1 through 0.5.0b1 mix character-based line offsets with Python's UTF-8 byte col_offset values in vyper/ast/parsCVE-2026-114114 · Other software · vyperlang · reported by VulnCheckMedium 6

    Vyper 0.1.0b1 before 0.1.0b12, 0.1.0b14, and 0.4.1 through 0.5.0b1 mix character-based line offsets with Python's UTF-8 byte col_offset values in vyper/ast/parse.py, so multi-byte characters shift the source slices used to reconstruct later numeric literals. An attacker contributing source with non-ASCII identifiers that NFKC-normalize to ASCII, or an invisible byte-order mark, can silently substitute addresses, integers or other constants in compiled code.

    Product
    vyper
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026Vulnerability in the MySQL Connectors product of Oracle MySQL (component: Connector/Python).CVE-2026-83404 · Other software · Oracle Corporation · reported by secalert_us@oracle.comHigh 7.5

    Vulnerability in the MySQL Connectors product of Oracle MySQL (component: Connector/Python). The supported version that is affected is 26.7.0. Easily exploitable vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise MySQL Connectors. Successful attacks of this vulnerability can result in unauthorized access to critical data or complete access to all MySQL Connectors accessible data. CVSS 3.1 Base Score 7.5 (Confidentiality impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N).

    Product
    MySQL Connectors
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113776 · Other software · pypa · reported by GitHubHigh 7.8

    virtualenv is a tool for creating isolated virtual python environments. From 20.26.6 until 21.14.2, ViaTemplateActivator.instantiate_template() replaces placeholders one key at a time across the complete activation template, so trigger names such as __VIRTUAL_NAME__, __VIRTUAL_ENV__, or __VIRTUAL_PROMPT__ inside an already substituted and quoted environment path or prompt can be replaced during a later pass. The later value's quoting can close the earlier literal and execute the remaining path when a user activates the environment through bash, fish, xonsh, or activate_this.py. The distinct csh prompt-display token __VIRTUAL_PROMPT_DISPLAY_TCSH__ can instead break the generated script without establishing command execution. The attacker must influence the destination path or --prompt, and a value without a relevant placeholder name does not trigger this mechanism. This issue is fixed in version 21.14.2.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113732 · Other software · pypa · reported by GitHubHigh 7.8

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.2, FishActivator inherits ViaTemplateActivator.quote(), which uses POSIX shlex.quote() even though fish interprets backslashes and single quotes differently. An attacker-influenced environment path, --prompt, or VIRTUALENV_PROMPT value containing a backslash before a quote can therefore terminate the generated fish literal and execute command substitution when the user sources activate.fish. This issue is fixed in version 21.14.2.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113726 · Other software · pypa · reported by GitHubHigh 7.8

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.13.0, the bash activate script that zsh also sources leaves the environment name unescaped; from 21.13.0 until 21.14.4, it escapes backslashes, dollar signs, and backticks only when BASH_VERSION is set, so zsh receives the raw value. The script assigns that value to PS1. In zsh with PROMPT_SUBST, an attacker-influenced environment directory, --prompt, or VIRTUALENV_PROMPT value containing command, parameter, or arithmetic expansion syntax can therefore execute commands in the user's shell each time the prompt is drawn. A percent sign is separately interpreted as a zsh prompt escape but does not by itself execute commands. Plain zsh with PROMPT_SUBST disabled and bash are not affected by this mechanism. This issue is fixed in version 21.14.4.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113725 · Other software · pypa · reported by GitHubHigh 7.8

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.7, the bash activate script escapes the environment name for only one of the two passes bash makes over PS1, so a backslash in the name undoes the escaping and a name containing \$(...) runs as commands in the user's shell each time bash draws the prompt. This issue is fixed in version 21.14.7.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113724 · Other software · pypa · reported by GitHubMedium 4.5

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the safe_delete() deletion error handler responds to a failed removal by reading mode bits with os.lstat(path) and applying owner-write permission with os.chmod(path, ...), which follows a symlink. A planted link inside a read-only directory can therefore cause a victim-owned target outside the destination that is initially not writable by the invoking user to become broadly writable before the retry fails, provided that user owns the target and can change its mode. Another account can use the widened mode only if it can traverse the target's parent directories; root does not reach the demonstrated failure path, and the operation does not itself read the target. This issue is fixed in version 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113723 · Other software · pypa · reported by GitHubHigh 7.1

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, caller-supplied prompt text can become executable syntax in the bash activation prompt. An attacker must influence the value passed to virtualenv, and a user must subsequently activate the environment and draw the prompt. This vulnerability is fixed in 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113722 · Other software · pypa · reported by GitHubHigh 7.8

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, virtualenv's ScriptMakerCustom and pip pass an incompletely quoted interpreter path to distlib ScriptMaker when generating POSIX console scripts. When the path contains a space or produces a shebang longer than 127 bytes, distlib emits a /bin/sh wrapper whose double-quoted interpreter path still expands command substitutions and backticks. An attacker who influences the environment destination can therefore execute commands with the user's privileges when the user later runs a generated launcher; environment creation and activation do not trigger the command. Existing launchers are not repaired by upgrading virtualenv alone and must be regenerated, while a later independent pip installation or upgrade can reintroduce an affected launcher because pip's vendored distlib is unchanged. The virtualenv fix is released in version 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113721 · Other software · pypa · reported by GitHubMedium 4.5

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, ViaTemplateActivator._generate() removes an existing output only when Path.exists() is true, allowing a dangling symlink to survive and redirect generated activation content, while PyEnvCfg.write() opens pyvenv.cfg without first replacing an existing symbolic or hard link. Another local account that prepares final entries inside the destination can therefore cause environment creation to create or overwrite files outside the requested tree with constrained virtualenv-generated content and the invoking user's permissions. The destination parent must remain controlled by the environment owner during creation; concurrent parent-directory replacement is a separate concern. This issue is fixed in version 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113720 · Other software · pypa · reported by GitHubMedium 4.4

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the app-data copy seeder uses shutil.copy() to copy cached package files into later environments, causing cached source modes to override the current run's umask. A cache populated under a permissive umask can therefore produce files writable by another local account in a later traversable environment, allowing package code such as pip/__init__.py to be modified and executed by the environment owner. The attacker cannot force the earlier umask, and a private destination parent prevents access. This issue is fixed in version 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113719 · Other software · pypa · reported by GitHubMedium 4.5

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, PipInstall._uninstall_previous_version() accepts existing seed-package metadata and _uninstall_dist() joins entries from top_level.txt and RECORD to site-packages without checking containment. When a reused destination contains distribution metadata influenced by another account, relative traversal, absolute entries, or linked parents can cause app-data reseeding to delete files outside the environment or the environment root with the invoking user's permissions, provided that user has deletion rights over the named paths. The deletion occurs during environment creation before any later use of the environment. Fresh environments without existing package metadata and creation with --clear do not enter this cleanup path. This issue is fixed in version 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113718 · Other software · pypa · reported by GitHubHigh 7.1

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, POSIX xonsh activation quote() uses repr() to write printable non-ASCII prompt or destination data into UTF-8 activate.xsh, while xonsh can read that script using $XONSH_ENCODING. Under a legacy multibyte codec such as GBK or Big5, a UTF-8 trail byte can consume the backslash before an adjacent quote, allowing the literal to close and attacker-influenced statements to execute when the user sources the generated script. This issue is fixed in version 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113717 · Other software · pypa · reported by GitHubLow 2.3

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, PipInvoke.get_pip_install_cmd() handles --seeder pip --download by calling get_wheel(download=False) and then allowing pip to consult the configured index, bypassing virtualenv's download_wheel() and verify_wheel_digest() path. When virtualenv's default-index PyPI digest comparison remains enabled, an index candidate matching the bundled package and version can therefore be selected without comparison to PyPI SHA-256 metadata. Explicit custom-index settings already opt out of that comparison and remain outside this verification-bypass claim; the demonstrated configuration used a non-PyPI index while leaving the index environment variables unset so the comparison policy remained active. This condition does not independently defeat TLS or establish control of the index response. This issue is fixed in version 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113716 · Other software · pypa · reported by GitHubMedium 4.5

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the builtin creator calls ensure_dir() for executable, library, and package directories, and ensure_dir() accepts an existing symlink to a directory because exists() follows it. Interpreter creation, seed installation, and activation generation then write through the linked parent outside the requested destination when another local account prepared the tree and the invoking user can access the target. The --clear option removes the planted tree first, while ordinary creation reaches it; arbitrary attacker-selected output bytes are not established. This issue is fixed in version 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113715 · Other software · pypa · reported by GitHubLow 2

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, the stdlib venv creator reads generated pyvenv.cfg with str.splitlines() and merges parsed keys over virtualenv's selected configuration. An untrusted caller who influences the destination pathname can include a line-boundary character such as U+2028 to inject keys including home and include-system-site-packages, causing path data to change configuration structure before final output. Setting include-system-site-packages to true weakens environment isolation, while an altered home can change which standard-library files the interpreter loads if the attacker also controls that location. The builtin creator does not use this readback path. This issue is fixed in version 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113714 · Other software · pypa · reported by GitHubLow 2.3

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, download_wheel() writes package-index downloads directly into the reusable wheel/house cache before selecting a verification target from pip's textual Saved output. With default-index digest comparison enabled, a controlled package index can inject a misleading Saved line through a discarded link's data-requires-python attribute; this forged-line variant also requires knowledge of an absolute path to the genuine bundled wheel. The wrong path can then be hashed, while a digest mismatch leaves the rejected archive in the cache for later selection without verification. A separate rejected-cache-file variant requires control over downloaded data or archive selection but not the forged-line prerequisites. Explicit custom-index exceptions are outside the promised PyPI comparison, and the issue does not independently bypass TLS or establish control of default PyPI. This issue is fixed in version 21.14.9.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026virtualenv is a tool for creating isolated virtual python environments.CVE-2026-113713 · Other software · pypa · reported by GitHubMedium 4.4

    virtualenv is a tool for creating isolated virtual python environments. From 21.14.8 until 21.14.10, the app-data seeder can leave an environment linked to temporary package files that virtualenv deletes when creation finishes. The environment-variable and configuration-file forms of symlink_app_data can enable this state even though the command-line flag is disabled for temporary app-data. The resulting environment depends on a cache pathname that its owner no longer controls. This issue is fixed in version 21.14.10.

    Product
    virtualenv
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112941 · Other software · tox-dev · reported by GitHubLow 3.3

    filelock is a platform-independent file lock for Python. From 4.1.0 until 4.2.1, SoftReadWriteLock and AsyncSoftReadWriteLock cache a successful check of the <path>.rw lock tree and resolve its names again during later record operations, allowing another local user who can replace that tree after the first acquisition to redirect lock-record writes into directories writable by the lock user. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112940 · Other software · tox-dev · reported by GitHubHigh 7.1

    filelock is a platform-independent file lock for Python. From 3.20.4 until 4.2.1, ReadWriteLock let SQLite reopen the database and side files by name; on POSIX systems an attacker with rename access in a non-sticky parent can swap those names to cause overwrite or unlink operations, while a writable adjacent hot journal is additionally required for attacker-chosen content overwrites. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112939 · Other software · tox-dev · reported by GitHubMedium 4.7

    filelock is a platform-independent file lock for Python. From 3.22.0 until 4.2.1, SoftFileLock can trust a forged process identifier in a marker that an attacker can modify but cannot remove, allowing an authorized contender such as another process of the holder's account or root to act as a confused deputy, remove the live marker, and admit another holder. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112937 · Other software · tox-dev · reported by GitHubMedium 6.1

    filelock is a platform-independent file lock for Python. From 4.1.0 until 4.2.1, ReadWriteLock can remove a randomized .filelock-* private-hard-link directory during cleanup, allowing another local user with rename access in a non-sticky parent to observe a live name or forge a dead-owner sweep name and rename a sibling directory onto it for deletion. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112936 · Other software · tox-dev · reported by GitHubMedium 6.1

    filelock is a platform-independent file lock for Python. From 3.20.4 until 4.0.9, ReadWriteLock and AsyncReadWriteLock versions from 3.20.4 resolve the lock path and pass it to SQLite without rejecting a final symbolic link, allowing another local user who can create names in the lock directory to redirect database creation and locking or split mutual exclusion between targets. This issue is fixed in version 4.0.9.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112935 · Other software · tox-dev · reported by GitHubMedium 4.7

    filelock is a platform-independent file lock for Python. From 3.22.0 until 4.2.1, SoftFileLock can break a stale marker after an attacker frees its own marker following the stale read, an honest contender creates a live successor on the reused inode, and the successor's modification time is not newer than the saved observation, causing the live marker to be removed and two holders to be admitted. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112934 · Other software · tox-dev · reported by GitHubMedium 6.1

    filelock is a platform-independent file lock for Python. From 4.0.0 until 4.2.1, SoftReadWriteLock refreshes holder records by name, allowing another local user with rename access to the lock directory to replace a record with a named pipe and stall the lock, or under a permissive hard-link policy to link a reachable target file and cause the lock user to write through it. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112915 · Other software · tox-dev · reported by GitHubMedium 5.5

    filelock is a platform-independent file lock for Python. From 3.20.4 until 4.2.1, ReadWriteLock can open a crafted SQLite lock database without bounding schema and query work, allowing another local user who can replace the database to make acquisition stall or hang; versions from 3.20.4 expose this on initial per-instance opening, and versions from 3.30.0 repeat the exposure on every acquisition. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112914 · Other software · tox-dev · reported by GitHubMedium 5.3

    filelock is a platform-independent file lock for Python. From 4.1.0 until 4.2.1, SoftFileLock can restore a stale marker by name after moving it aside, allowing another local user with rename access in a non-sticky lock directory to swap in a symbolic link and, on a runtime that follows the link and a same-filesystem target, make the lock user hard-link one of its files into the lock directory. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112912 · Other software · tox-dev · reported by GitHubLow 2.5

    filelock is a platform-independent file lock for Python. From 3.32.6 until 4.2.1, SoftFileLock can follow a swapped symbolic link during the conditional os.access writability check for a node without its owner-write bit, allowing another local user on a platform and directory configuration that follows the link to infer whether a chosen path exists and is writable from the observable acquisition result. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112911 · Other software · tox-dev · reported by GitHubMedium 6.3

    filelock is a platform-independent file lock for Python. From 3.30.0 until 4.2.1, StrictSoftFileLock versions from 3.30.0 and SoftReadWriteLock versions from 4.0.0 can adopt a protocol directory created first by another local user in a shared parent directory, allowing that user to alter protocol state and admit concurrent holders. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112909 · Other software · tox-dev · reported by GitHubMedium 6.1

    filelock is a platform-independent file lock for Python. Prior to 4.2.1, UnixFileLock can truncate a regular file renamed onto the lock path when another local user has actual rename permission, or hard-linked there under a permissive hard-link policy; when an explicit mode is requested, affected versions from 3.10.2 can also change that file's mode. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 20, 2026filelock is a platform-independent file lock for Python.CVE-2026-112906 · Other software · tox-dev · reported by GitHubMedium 4.7

    filelock is a platform-independent file lock for Python. From 4.1.0 until 4.2.1, SoftFileLock versions from 4.1.0 can reuse a stale observation when an attacker pre-dates and removes its own marker, at least two lock-user processes are waiting, coarse or matching modification times preserve the observation, and an honest contender creates a fresh marker on the reused inode, causing that live marker to be removed as stale. This issue is fixed in version 4.2.1.

    Product
    filelock
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.

Where this comes from: the exploited list is CISA’s Known Exploited Vulnerabilities catalog. Everything else is the whole National Vulnerability Database, where each record is published by the team that found the bug (Wordfence, Patchstack, WPScan, the vendors themselves and others); we show who. Exploit odds are FIRST’s EPSS, updated daily. Titles and categories are ours, so check the linked record before acting on a detail. For a write-up of the big ones, see our advisories. Every vendor, and every WordPress plugin and theme with a recorded flaw, also has its own page. All of it is free to reuse as JSON, CSV or RSS.

Weekly security brief

The flaws that hit local websites, every Friday.

One short email: what got exploited this week, which WordPress plugins broke, and what to check. Unsubscribe in one click.

Get in touch

Tell us what you're building.

A website, your marketing, a security check, an app, or the thing you've been running out of a spreadsheet for three years. A few lines is plenty.

01The person who'll do the work writes back
02A short call, then a written plan with the price
03Nothing starts until you say yes
04Hacked or down right now? Call, and we pick up the same day
843-331-6339

Not ready to talk yet? Run the free website check and see what Google sees.

What do you need?
Build
Grow
Protect
Urgent

No newsletter, no sales sequence. Just a reply.