{"affected":[{"database_specific":{"source":"https://github.com/ocaml/security-advisories/blob/generated-osv/2026/OSEC-2026-03.json"},"ecosystem_specific":{"opam_constraint":"opam-devel {< \"2.5.1\"}"},"package":{"ecosystem":"opam","name":"opam-devel","purl":"pkg:opam/opam-devel"},"ranges":[{"events":[{"introduced":"0"},{"fixed":"2.5.1"}],"type":"ECOSYSTEM"},{"events":[{"introduced":"0"},{"fixed":"d7283e3b5845447ee618794d87cfe224dd980c8f"}],"repo":"https://github.com/ocaml/opam","type":"GIT"},{"events":[{"introduced":"0"},{"fixed":"c8fcf65779fe7048f9b5ef59886bfa9c5d102d84"}],"repo":"https://github.com/ocaml/opam","type":"GIT"}],"versions":["2.0~alpha5","2.0.0~beta","2.0.0~beta3","2.0.0~beta3.1","2.0.0~beta5","2.0.0~rc","2.0.0~rc2","2.0.0~rc3","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.0.10","2.1.0~beta2","2.1.0~beta4","2.1.0~rc","2.1.0~rc2","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.2.0~alpha","2.2.0~alpha2","2.2.0~alpha3","2.2.0~beta1","2.2.0~beta2","2.2.0~beta3","2.2.0~rc1","2.2.0","2.2.1","2.3.0~alpha1","2.3.0~beta1","2.3.0~beta2","2.3.0~rc1","2.3.0","2.4.0~alpha1","2.4.0~alpha2","2.4.0~beta1","2.4.0~rc1","2.4.0","2.4.1","2.5.0~alpha1","2.5.0~beta1","2.5.0~rc1","2.5.0"]}],"aliases":["CVE-2026-41082"],"credits":[{"name":"Andrew Nesbitt","type":"REPORTER"},{"name":"Kate","type":"REMEDIATION_DEVELOPER"},{"name":"Raja Boujbel","type":"REMEDIATION_REVIEWER"},{"name":"Hannes Mehnert","type":"COORDINATOR"}],"database_specific":{"cwe":["CWE-693"],"human_link":"https://github.com/ocaml/security-advisories/tree/main/advisories/2026/OSEC-2026-03.md","osv":"https://github.com/ocaml/security-advisories/tree/generated-osv/2026/OSEC-2026-03.json"},"details":"## Summary\n\n`.install` files do not validate whether they are inside the package area, and so can bypass sandboxing.\n\n## Exploit\n\nIn a `package.install` file, this installs a file as ``~/.bashrc`:\n```\nbin: [\n  \"payload.sh\" {\"../../../.bashrc\"}\n]\n```\n\n## Timeline\n\n- 2026-04-11: Anil forwarded the issue from Andrew Nesbitt to the OCaml security team\n- 2026-04-11: Kate developed a fix\n- 2026-04-15: opam 2.5.1 was released with the fix","id":"OSEC-2026-03","modified":"2026-04-16T21:00:00Z","published":"2026-04-15T22:00:00Z","references":[{"type":"FIX","url":"https://github.com/ocaml/opam/pull/6897"},{"type":"FIX","url":"https://github.com/ocaml/opam/pull/6898"}],"schema_version":"1.7.5","severity":[{"score":"CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:N","type":"CVSS_V3"}],"summary":"opam install sandbox escape"}