CVE-2024-4981

7.6 HIGH

📋 TL;DR

This vulnerability in Pagure server allows authenticated malicious users to create symbolic links in git repositories that expose files outside the repository directory. This affects all Pagure server instances with git repository functionality enabled. The vulnerability enables unauthorized access to sensitive server files.

💻 Affected Systems

Products:
  • Pagure server
Versions: All versions before commit 454f2677bc50d7176f07da9784882eb2176537f4
Operating Systems: All Linux/Unix systems running Pagure
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Pagure instances with git repository functionality enabled. Requires authenticated user access to create repositories.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise through exposure of sensitive configuration files, SSH keys, or database credentials stored on the server filesystem.

🟠

Likely Case

Unauthorized access to sensitive files outside git repositories, potentially exposing configuration data, logs, or other restricted content.

🟢

If Mitigated

Limited exposure of non-critical files if proper file permissions and access controls are implemented.

🌐 Internet-Facing: HIGH - Internet-facing Pagure instances are directly accessible to attackers who can create repositories.
🏢 Internal Only: MEDIUM - Internal instances still vulnerable to authenticated malicious insiders or compromised accounts.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Requires authenticated user account with repository creation permissions. Exploitation involves creating a git repository with malicious symbolic links.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Commit 454f2677bc50d7176f07da9784882eb2176537f4

Vendor Advisory: https://access.redhat.com/security/cve/CVE-2024-4981

Restart Required: Yes

Instructions:

1. Update Pagure to commit 454f2677bc50d7176f07da9784882eb2176537f4 or later. 2. Restart Pagure service. 3. Verify the fix by checking git repository handling.

🔧 Temporary Workarounds

Disable repository creation

linux

Temporarily disable new repository creation for non-admin users

Modify Pagure configuration to restrict repository creation permissions

File system restrictions

linux

Implement strict file permissions and SELinux/apparmor policies

chmod 750 /var/lib/pagure
setenforce 1
Configure appropriate SELinux/apparmor rules

🧯 If You Can't Patch

  • Implement strict access controls and audit repository creation activities
  • Monitor file system access patterns and implement intrusion detection for unusual symlink activity

🔍 How to Verify

Check if Vulnerable:

Check if Pagure version is before commit 454f2677bc50d7176f07da9784882eb2176537f4

Check Version:

git log --oneline -1

Verify Fix Applied:

Test creating a repository with symbolic links - server should reject or properly handle them

📡 Detection & Monitoring

Log Indicators:

  • Unusual repository creation patterns
  • Multiple symlink creation attempts
  • Access to files outside repository paths

Network Indicators:

  • Increased git push activity from single users
  • Unusual file retrieval patterns

SIEM Query:

source="pagure.log" AND ("symlink" OR ".." OR "../") AND action="push"

🔗 References

📤 Share & Export