Skip to content

Pin safe dependency versions; document CVEs in shipped File_Encrypt.exe - #5

Open
kurtadsheh99 wants to merge 1 commit into
mainfrom
claude/keen-rubin-s26l2a
Open

Pin safe dependency versions; document CVEs in shipped File_Encrypt.exe#5
kurtadsheh99 wants to merge 1 commit into
mainfrom
claude/keen-rubin-s26l2a

Conversation

@kurtadsheh99

Copy link
Copy Markdown
Owner

Summary

Ran a dependency vulnerability scan across the three in-scope repositories (portfolio-website, filesystembackup, file_encryptor). The first two have no third-party dependencies with known CVEs. This PR addresses the findings for file_encryptor.

File_Encrypt.exe on main was built with PyInstaller in April 2023 (Python 3.11.3). Inspecting sources.zip (the PyInstaller build directory) exposes the bundled dist-info entries, which show:

  • cryptography 40.0.2 — vulnerable
  • setuptools 65.5.0 — vulnerable
  • pycryptodome (imported as Crypto) — version not recorded in the manifest; recommend upgrading

Notable CVEs affecting the versions above:

Package Version CVE Fixed in
cryptography 40.0.2 CVE-2023-49083 (PKCS7 NULL-deref) 41.0.6
cryptography 40.0.2 CVE-2023-50782 (Bleichenbacher timing oracle) 42.0.0
cryptography 40.0.2 CVE-2024-26130 (PKCS12 NULL-deref) 42.0.4
cryptography 40.0.2 vendored OpenSSL security fixes 41.0.x / 42.0.x / 43.0.x
setuptools 65.5.0 CVE-2022-40897 (ReDoS) 65.5.1
setuptools 65.5.0 CVE-2024-6345 (RCE via package_index.py) 70.0.0
setuptools 65.5.0 CVE-2025-47273 (path traversal in PackageIndex.download) 78.1.1

Changes

  • Add requirements.txt pinning floor versions that patch every known advisory affecting the currently bundled libraries.
  • Add SECURITY.md documenting the bundled-library CVEs, giving safe rebuild instructions, and directing vulnerability reports to the private advisory workflow.

Scope note

The repository does not check in the source File_Encrypt.py; only the compiled .exe and the PyInstaller build directory (sources.zip) are tracked. Rewriting the shipped executable therefore requires a Windows rebuild against these pinned versions using the original source, which is out of scope for this automated scan. This PR does not modify File_Encrypt.exe; it ensures the next rebuild picks non-vulnerable dependencies.

Test plan

  • Review requirements.txt pins against the project's Python version and rebuild toolchain preferences
  • Rebuild File_Encrypt.exe on Windows using the PowerShell steps in SECURITY.md and confirm the app still functions
  • After rebuild, verify the new executable no longer bundles cryptography-40.0.2.dist-info / setuptools-65.5.0.dist-info

Generated by Claude Code

The File_Encrypt.exe currently in main was built with PyInstaller in
April 2023 and bundles cryptography 40.0.2 and setuptools 65.5.0,
both of which have known CVEs fixed in later releases.

Add requirements.txt with floor versions that patch every known
advisory affecting the currently bundled libraries, and a SECURITY.md
that documents the issue and gives reproducible rebuild instructions.

This does not rewrite the shipped executable (rebuild requires the
Windows source .py, which is not in this repo); it makes the next
rebuild pick non-vulnerable versions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant