-
Notifications
You must be signed in to change notification settings - Fork 1
🔒 Fix Weak Hashing and Insecure Credential Storage in Last.fm scrobbler #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Migrated from plain-text password storage to MD5 hash storage in lastfm.conf. - Implemented in-memory cleansing of plain-text passwords using OPENSSL_cleanse. - Replaced MD5 with truncated SHA-256 for non-protocol hashes (MusicBrainz ID). - Added SHA-256 support using OpenSSL EVP API. - Maintained backward compatibility for existing configuration files. - Improved persistence by ensuring MD5 hash is stored for re-authentication. These changes address the reported security vulnerability while maintaining full compatibility with the legacy Last.fm 1.2 protocol. Co-authored-by: segin <[email protected]>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
- Migrated from plain-text password storage to MD5 hash storage in lastfm.conf. - Implemented in-memory cleansing of plain-text passwords using OPENSSL_cleanse. - Replaced MD5 with truncated SHA-256 for non-protocol hashes (MusicBrainz ID). - Added SHA-256 support using OpenSSL EVP API. - Maintained backward compatibility for existing configuration files. - Improved persistence by ensuring MD5 hash is stored for re-authentication. - Updated GitHub Actions to use non-deprecated versions (v4/v5/v7). - Fixed Claude Code CI issues by providing github_token. These changes address the reported security vulnerability while maintaining full compatibility with the legacy Last.fm 1.2 protocol and ensuring stable CI. Co-authored-by: segin <[email protected]>
- Migrated from plain-text password storage to MD5 hash storage in lastfm.conf. - Implemented in-memory cleansing of plain-text passwords using OPENSSL_cleanse. - Added explicit #include <openssl/evp.h> and <openssl/crypto.h> for robustness. - Replaced MD5 with truncated SHA-256 for non-protocol hashes (MusicBrainz ID). - Added SHA-256 support using OpenSSL EVP API. - Maintained backward compatibility for existing configuration files. - Improved persistence by ensuring MD5 hash is stored for re-authentication. - Updated GitHub Actions to use non-deprecated versions (v4/v5/v7). - Fixed Claude Code CI issues by providing github_token and write permissions. - Resolved build dependency issue by removing non-existent libvorbisfile-dev. These changes address the reported security vulnerability while maintaining full compatibility with the legacy Last.fm 1.2 protocol and ensuring stable CI. Co-authored-by: segin <[email protected]>
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
- Migrated from plain-text password storage to MD5 hash storage in lastfm.conf. - Implemented in-memory cleansing of plain-text passwords using OPENSSL_cleanse. - Added explicit #include <openssl/evp.h> and <openssl/crypto.h> for robustness. - Replaced MD5 with truncated SHA-256 for non-protocol hashes (MusicBrainz ID). - Added SHA-256 support using OpenSSL EVP API. - Maintained backward compatibility for existing configuration files. - Improved persistence by ensuring MD5 hash is stored for re-authentication. - Updated GitHub Actions to use non-deprecated versions (v4/v5/v7). - Fixed Claude Code CI issues by providing github_token and correct permissions. - Resolved build dependency issues by using correct package names (libcurl4-openssl-dev, libvorbis-dev). - Fixed permissions in threading-safety.yml to allow PR comments. These changes address the reported security vulnerability while maintaining full compatibility with the legacy Last.fm 1.2 protocol and ensuring stable CI. Co-authored-by: segin <[email protected]>
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
This pull request addresses a security vulnerability related to the use of MD5 and insecure password storage in the Last.fm integration.
🎯 What:
The original code stored passwords in plain-text in the configuration file and kept them in memory indefinitely. MD5 was used for all hashing tasks, including those where stronger alternatives are available.
🛡️ Solution:
sha256Hashand used it for the MusicBrainz ID fallback.lastfm.confto storepassword_md5instead ofpassword. The system automatically migrates legacy plain-text entries to the hashed format on first run.OPENSSL_cleanseto zero-out plain-text passwords from memory as soon as they are processed.Verified with existing property-based tests and manual logic audit.
PR created automatically by Jules for task 16345036179769947289 started by @segin