CVE-2014-6274
S3 and Glacier remotes creds embedded in the git repo were not encrypted
git-annex had a bug in the S3 and Glacier remotes where if embedcreds=yes was set, and the remote used encryption=pubkey or encryption=hybrid, the embedded AWS credentials were stored in the git repository in (effectively) plaintext, not encrypted as they were supposed to be. This issue affects git-annex: from 3.20121126 before 5.20140919.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used 7.5
S3 and Glacier remotes creds embedded in the git repo were not encrypted
git-annex had a bug in the S3 and Glacier remotes where if embedcreds=yes was set, and the remote used encryption=pubkey or encryption=hybrid, the embedded AWS credentials were stored in the git repository in (effectively) plaintext, not encrypted as they were supposed to be. This issue affects git-annex: from 3.20121126 before 5.20140919.
- Record
CVE-2014-6274- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-311
- Updated
- 2026-11-02
EUVDEUVD-2014-6160 7.5
git-annex had a bug in the S3 and Glacier remotes where if embedcreds=yes was set, and the remote used encryption=pubkey or encryption=hybrid, the embedded AWS credentials were stored in the git repository in (effectively) plaintext, not encrypted as they were supposed to be. This issue affects git-annex: from 3.20121126 before 5.20140919.
- Record
EUVD-2014-6160- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-ppj6-rmfj-4vjx 7.5
git-annex had a bug in the S3 and Glacier remotes where if embedcreds=yes was set, and the remote...
git-annex had a bug in the S3 and Glacier remotes where if embedcreds=yes was set, and the remote used encryption=pubkey or encryption=hybrid, the embedded AWS credentials were stored in the git repository in (effectively) plaintext, not encrypted as they were supposed to be. This issue affects git-annex: from 3.20121126 before 5.20140919.
- Record
GHSA-ppj6-rmfj-4vjx- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-311
- Updated
- 2026-11-02
NVD 7.5
git-annex had a bug in the S3 and Glacier remotes where if embedcreds=yes was set, and the remote used encryption=pubkey or encryption=hybrid, the embedded AWS credentials were stored in the git repository in (effectively) plaintext, not encrypted as they were supposed to be. This issue affects git-annex: from 3.20121126 before 5.20140919.
- Record
CVE-2014-6274- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-311
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2014-6274 7.5
git-annex had a bug in the S3 and Glacier remotes where if embedcreds=yes was set, and the remote used encryption=pubkey or encryption=hybrid, the embedded AWS credentials were stored in the git repository in (effectively) plaintext, not encrypted as they were supposed to be. This issue affects git-annex: from 3.20121126 before 5.20140919.
- Record
DEBIAN-CVE-2014-6274- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVNo score
git-annex had a bug in the S3 and Glacier remotes where if embedcreds=yes was set, and the remote used encryption=pubkey or encryption=hybrid, the embedded AWS credentials were stored in the git repository in (effectively) plaintext, not encrypted as they were supposed to be. This issue affects git-annex: from 3.20121126 before 5.20140919.
- Record
CVE-2014-6274- Updated
- 2026-11-02
OSVHSEC-2023-0013No score
git-annex plaintext storage of embedded credentials on encrypted remotes
git-annex plaintext storage of embedded credentials on encrypted remotes
git-annex had a bug in the S3 and Glacier remotes where if
embedcreds=yes was set, and the remote used encryption=pubkey or
encryption=hybrid, the embedded AWS credentials were stored in the
Git repository in (effectively) plaintext, not encrypted as they
were supposed to be.
That means that anyone who gets a copy of the Git repository can extract the AWS credentials from it. Which would be bad.
A remote with this problem cannot be enabled using git annex enableremote. Old versions of git-annex will fail with a GPG
error; the current version will fail with a pointer to this web
page.
Remediation
If your repository has this problem, chose from one of these approaches to deal with it:
Change your AWS credentials, so the ones stored in the clear in git won't be used.
After changing the credentials, make sure you have a fixed version of git-annex, and you can then re-embed the new creds into the repository, encrypted this time, by setting the
AWS_SECRET_ACCESS_KEYandAWS_ACCESS_KEY_IDenvironment variables, and runninggit annex enableremote $remotename embedcreds=yes.Fix the problem and then remove the history of the git-annex branch of the repository.
Make sure you have a fixed version of git-annex, and force git-annex to rewrite the embedded creds, with encryption this time, by setting by setting the
AWS_SECRET_ACCESS_KEYandAWS_ACCESS_KEY_IDenvironment variables, and runninggit annex enableremote $remotename embedcreds=yes.Then, to get rid of old versions of the git-annex branch that still contains the creds in cleartext, you can use
git annex forget; note that it will remove other historical data too.Keep in mind that this will not necessarily delete data from clones you do not control.
If you're sure that you're the only one who has access to the repository, you could decide to leave it as-is. It's no more insecure than if you had used
encryption=sharedin the first place when setting it up.
- Record
HSEC-2023-0013- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
git-annexDebian:12 | before 5.20140919 | 5.20140919 |
git-annexDebian:13 | before 5.20140919 | 5.20140919 |
git-annexDebian:14 | before 5.20140919 | 5.20140919 |
git-annexHackage | 0.20110401 up to 5.20140919, plus listed versions 3.201107023.20110702.23.201107053.201107073.20110819 Show 45 moreShow less3.201109023.201109063.201109153.201109283.201110113.201111223.201112033.201112113.201112313.201201133.201201153.201201163.201201233.201202273.201202293.201202303.201203093.201203153.201204053.201204063.201204183.201204303.201205113.201205223.201206053.201206113.201206143.201206153.201206243.201206293.201207213.201208073.201208253.201209243.201210013.201210093.201210103.201210163.201210173.201211123.201211263.201211273.20121127.13.201212113.20130102 | 5.20140919 |
History
| Recorded | Changed | Sources |
|---|---|---|
| facts | ||
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2014-6274 is a high vulnerability (CVSS 7.5) in Git-annex, published June 26, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.18%, the 7th percentile. Fixed in git-annex 5.20140919.
References
Left out here: 62 versions. The JSON record has them.