π¨ CVE-2026-89315
`JwtClaims.MarshalJSON` built a Go struct at runtime with `reflect.StructOf`, synthesising a field named `"A" + claimName` for each untyped claim. `reflect.StructOf` **panics** when a field name is not a valid Go identifier, or when it duplicates another field. Both conditions are reachable from ordinary JWT claim names.
π@cveNotify
`JwtClaims.MarshalJSON` built a Go struct at runtime with `reflect.StructOf`, synthesising a field named `"A" + claimName` for each untyped claim. `reflect.StructOf` **panics** when a field name is not a valid Go identifier, or when it duplicates another field. Both conditions are reachable from ordinary JWT claim names.
π@cveNotify
GitHub
JwtClaims.MarshalJSON panics via reflect.StructOf when any untyped claim key is not a valid Go identifier suffix
### Summary
`JwtClaims.MarshalJSON` built a Go struct at runtime with `reflect.StructOf`, synthesising a field named `"A" + claimName` for each untyped claim. `reflect.StructOf` **pani...
`JwtClaims.MarshalJSON` built a Go struct at runtime with `reflect.StructOf`, synthesising a field named `"A" + claimName` for each untyped claim. `reflect.StructOf` **pani...
π¨ CVE-2026-89316
`LoadPublicKey` resolved an EC key's curve with an unchecked type assertion, `algToOptsMap[alg].(*ECDSAOptions)`. A JWK declaring `"kty":"EC"` together with a non-EC `"alg"` β which RFC 7517 Β§4.4 permits β reaches that assertion and **panics**.
π@cveNotify
`LoadPublicKey` resolved an EC key's curve with an unchecked type assertion, `algToOptsMap[alg].(*ECDSAOptions)`. A JWK declaring `"kty":"EC"` together with a non-EC `"alg"` β which RFC 7517 Β§4.4 permits β reaches that assertion and **panics**.
π@cveNotify
GitHub
LoadPublicKey panics on kty/alg mismatch (kty=EC with a non-EC alg) via unchecked *ECDSAOptions type assertion
### Summary
`LoadPublicKey` resolved an EC key's curve with an unchecked type assertion, `algToOptsMap[alg].(*ECDSAOptions)`. A JWK declaring `"kty":"EC"` together with a...
`LoadPublicKey` resolved an EC key's curve with an unchecked type assertion, `algToOptsMap[alg].(*ECDSAOptions)`. A JWK declaring `"kty":"EC"` together with a...
π¨ CVE-2026-89317
gose parsed the JWS `crit` header into `JwsHeader.Crit` and then never read it. RFC 7515 Β§4.1.11 requires a recipient to reject a JWS whose listed critical extension parameters it does not understand. gose implements no header extensions, so every token carrying a non-empty `crit` should have been rejected β and none were.
π@cveNotify
gose parsed the JWS `crit` header into `JwsHeader.Crit` and then never read it. RFC 7515 Β§4.1.11 requires a recipient to reject a JWS whose listed critical extension parameters it does not understand. gose implements no header extensions, so every token carrying a non-empty `crit` should have been rejected β and none were.
π@cveNotify
GitHub
JwtVerifierImpl.Verify does not enforce the JWS `crit` header (RFC 7515 Β§4.1.11)
### Summary
gose parsed the JWS `crit` header into `JwsHeader.Crit` and then never read it. RFC 7515 Β§4.1.11 requires a recipient to reject a JWS whose listed critical extension parameters it do...
gose parsed the JWS `crit` header into `JwsHeader.Crit` and then never read it. RFC 7515 Β§4.1.11 requires a recipient to reject a JWS whose listed critical extension parameters it do...
π¨ CVE-2026-89318
`JweRsaKeyEncryptionDecryptorImpl.Decrypt` passed the JWE's initialization vector to `cipher.AEAD.Open` without checking its length. The Go standard library **panics** rather than returning an error when a GCM nonce is not exactly `NonceSize()` bytes, so a JWE carrying a wrong-sized IV crashes the decrypting goroutine.
π@cveNotify
`JweRsaKeyEncryptionDecryptorImpl.Decrypt` passed the JWE's initialization vector to `cipher.AEAD.Open` without checking its length. The Go standard library **panics** rather than returning an error when a GCM nonce is not exactly `NonceSize()` bytes, so a JWE carrying a wrong-sized IV crashes the decrypting goroutine.
π@cveNotify
GitHub
JweRsaKeyEncryptionDecryptorImpl.Decrypt panics on attacker-chosen IV length (stdlib GCM.Open reached without nonce-size check)
### Summary
`JweRsaKeyEncryptionDecryptorImpl.Decrypt` passed the JWE's initialization vector to `cipher.AEAD.Open` without checking its length. The Go standard library **panics** rather tha...
`JweRsaKeyEncryptionDecryptorImpl.Decrypt` passed the JWE's initialization vector to `cipher.AEAD.Open` without checking its length. The Go standard library **panics** rather tha...
π¨ CVE-2026-89319
`JweDirectDecryptorBlock.Decrypt` read a 64-bit plaintext length from the `_thales_aad` protected-header field and used it without any validation. A truncated field panics `binary.BigEndian.Uint64`, an oversized value drives an unbounded allocation, and a value larger than the decrypted block panics with a slice-bounds error.
π@cveNotify
`JweDirectDecryptorBlock.Decrypt` read a 64-bit plaintext length from the `_thales_aad` protected-header field and used it without any validation. A truncated field panics `binary.BigEndian.Uint64`, an oversized value drives an unbounded allocation, and a value larger than the decrypted block panics with a slice-bounds error.
π@cveNotify
GitHub
JweDirectDecryptorBlock.Decrypt: unchecked _thales_aad length header reachable with forged tag β index-out-of-range / slice-boundsβ¦
### Summary
`JweDirectDecryptorBlock.Decrypt` read a 64-bit plaintext length from the `_thales_aad` protected-header field and used it without any validation. A truncated field panics `binary.Bi...
`JweDirectDecryptorBlock.Decrypt` read a 64-bit plaintext length from the `_thales_aad` protected-header field and used it without any validation. A truncated field panics `binary.Bi...
π¨ CVE-2026-89320
`HmacShaCryptor.Hash` never hashed its input. For any input it returned `HMAC_K("")` β the MAC of the empty message under the key. Every AES-CBC-HMAC JWE produced or verified by gose therefore carried an authentication tag that is constant per key and independent of the message, removing ciphertext integrity entirely.
π@cveNotify
`HmacShaCryptor.Hash` never hashed its input. For any input it returned `HMAC_K("")` β the MAC of the empty message under the key. Every AES-CBC-HMAC JWE produced or verified by gose therefore carried an authentication tag that is constant per key and independent of the message, removing ciphertext integrity entirely.
π@cveNotify
GitHub
HmacShaCryptor.Hash never hashes its input β returns constant HMAC_K("") for all inputs, voiding CBC-HMAC JWE integrity
### Summary
`HmacShaCryptor.Hash` never hashed its input. For any input it returned `HMAC_K("")` β the MAC of the empty message under the key. Every AES-CBC-HMAC JWE produced or verifi...
`HmacShaCryptor.Hash` never hashed its input. For any input it returned `HMAC_K("")` β the MAC of the empty message under the key. Every AES-CBC-HMAC JWE produced or verifi...
π¨ CVE-2026-115724
VLC for Android before 3.7.2 contains a confused-deputy file overwrite vulnerability in FileUtils.getUri() that trusts content URIs based only on the com.fsck.k9.attachmentprovider or gmail-ls authority. A co-installed app without permissions can declare these authorities and send a crafted VIEW intent to the exported StartActivity, making VLC write attacker-chosen content under an attacker-chosen name in the shared Download directory, overwriting other apps' files when VLC holds All files access.
π@cveNotify
VLC for Android before 3.7.2 contains a confused-deputy file overwrite vulnerability in FileUtils.getUri() that trusts content URIs based only on the com.fsck.k9.attachmentprovider or gmail-ls authority. A co-installed app without permissions can declare these authorities and send a crafted VIEW intent to the exported StartActivity, making VLC write attacker-chosen content under an attacker-chosen name in the shared Download directory, overwriting other apps' files when VLC holds All files access.
π@cveNotify
GitHub
vlc-android/application/vlc-android/src/org/videolan/vlc/util/FileUtils.kt at 3.7.1 Β· videolan/vlc-android
VLC for Android, Android TV and ChromeOS. Contribute to videolan/vlc-android development by creating an account on GitHub.
π¨ CVE-2026-115726
Aider through 0.86.2 contains a command execution vulnerability that allows attackers to run shell commands by committing a malicious .aider.conf.yml that is auto-loaded without a trust prompt. Attackers can set notifications-command or editor values that are executed via subprocess with shell=True after model replies or /editor use, running commands with the victim's privileges.
π@cveNotify
Aider through 0.86.2 contains a command execution vulnerability that allows attackers to run shell commands by committing a malicious .aider.conf.yml that is auto-loaded without a trust prompt. Attackers can set notifications-command or editor values that are executed via subprocess with shell=True after model replies or /editor use, running commands with the victim's privileges.
π@cveNotify
GitHub
aider/aider/editor.py at v0.86.2 Β· Aider-AI/aider
aider is AI pair programming in your terminal. Contribute to Aider-AI/aider development by creating an account on GitHub.
π¨ CVE-2026-115728
@hapi/content from 6.0.1 before 6.0.3 contains a regular expression denial of service vulnerability in Content.disposition() caused by an incomplete fix for CVE-2026-35213. Unauthenticated remote attackers can send multipart uploads with a long Content-Disposition parameter lacking an equals sign, triggering quadratic backtracking that blocks the event loop.
π@cveNotify
@hapi/content from 6.0.1 before 6.0.3 contains a regular expression denial of service vulnerability in Content.disposition() caused by an incomplete fix for CVE-2026-35213. Unauthenticated remote attackers can send multipart uploads with a long Content-Disposition parameter lacking an equals sign, triggering quadratic backtracking that blocks the event loop.
π@cveNotify
GitHub
content/lib/index.js at v6.0.2 Β· hapijs/content
HTTP Content-* headers parsing. Contribute to hapijs/content development by creating an account on GitHub.
π¨ CVE-2026-115730
i18next-http-backend 4.0.2 contains an incomplete fix in interpolateUrl() that allows attackers to redirect translation requests by supplying an ns value starting with a slash. Attackers controlling the namespace value can form a protocol-relative URL in loadPath or addPath templates to load attacker-hosted translations, enabling UI content injection and cross-site scripting.
π@cveNotify
i18next-http-backend 4.0.2 contains an incomplete fix in interpolateUrl() that allows attackers to redirect translation requests by supplying an ns value starting with a slash. Attackers controlling the namespace value can form a protocol-relative URL in loadPath or addPath templates to load attacker-hosted translations, enabling UI content injection and cross-site scripting.
π@cveNotify
GitHub
security: reject interpolated URLs that turn into `//host` (GHSA-9jhj⦠· i18next/i18next-http-backend@042c3d4
β¦-wvmw-cfx5)
With a template like `/{{ns}}/{{lng}}.json`, an ns of `/evil.example`
passed the per-value checks (a single `/` is allowed for nested
namespaces) but joined the template's `/`...
With a template like `/{{ns}}/{{lng}}.json`, an ns of `/evil.example`
passed the per-value checks (a single `/` is allowed for nested
namespaces) but joined the template's `/`...
π¨ CVE-2026-55422
conda-forge is a GitHub organization containing repositories of conda recipes. In commits 85748ad2368a and prior, two React components render externally-sourced strings directly as HTML using dangerouslySetInnerHTML, with no sanitization (the project has no DOMPurify or equivalent dependency). JSON files are produced automatically by the conda-forge autotick bot (regro/cf-scripts) while it processes every conda-forge feedstock and its upstream source artifacts. The error/status strings embed raw output captured from those processes (build logs, patch output, tracebacks). The website renders them verbatim as HTML. At time of publication, there are no publicly available patches.
π@cveNotify
conda-forge is a GitHub organization containing repositories of conda recipes. In commits 85748ad2368a and prior, two React components render externally-sourced strings directly as HTML using dangerouslySetInnerHTML, with no sanitization (the project has no DOMPurify or equivalent dependency). JSON files are produced automatically by the conda-forge autotick bot (regro/cf-scripts) while it processes every conda-forge feedstock and its upstream source artifacts. The error/status strings embed raw output captured from those processes (build logs, patch output, tracebacks). The website renders them verbatim as HTML. At time of publication, there are no publicly available patches.
π@cveNotify
GitHub
Stored DOM XSS on conda-forge.org via unsanitized dangerouslySetInnerHTML in the status dashboard
> Originally reported by @Pig-Tail
## [MEDIUM] Stored DOM XSS on conda-forge.org via unsanitized `dangerouslySetInnerHTML` rendering of bot-generated status data
- **CWE:** CWE-79 (Imprope...
## [MEDIUM] Stored DOM XSS on conda-forge.org via unsanitized `dangerouslySetInnerHTML` rendering of bot-generated status data
- **CWE:** CWE-79 (Imprope...
π¨ CVE-2026-55889
XDG Desktop Portal is a desktop integration portal. Prior to version 1.22.1, malicious sandboxed applications can use the FileTransfer.RetrieveFiles method to redirect drag-and-drop and copy-paste data targeted at other applications to itself. Some portals generate tokens which provide access to resources. The sharing of the token transfers access to the resource and is supposed to happen out of band. The tokens were generated with g_random_int or g_uuid_string_random, both of which use GLib's GRand based on the Mersenne Twister PRNG which created a stream of reproducible random numbers. By generating enough tokens, the state of the GRand can be recover and with it, the next tokens can be predictedinsufin. This issue has been patched in version 1.22.1.
π@cveNotify
XDG Desktop Portal is a desktop integration portal. Prior to version 1.22.1, malicious sandboxed applications can use the FileTransfer.RetrieveFiles method to redirect drag-and-drop and copy-paste data targeted at other applications to itself. Some portals generate tokens which provide access to resources. The sharing of the token transfers access to the resource and is supposed to happen out of band. The tokens were generated with g_random_int or g_uuid_string_random, both of which use GLib's GRand based on the Mersenne Twister PRNG which created a stream of reproducible random numbers. By generating enough tokens, the state of the GRand can be recover and with it, the next tokens can be predictedinsufin. This issue has been patched in version 1.22.1.
π@cveNotify
GitHub
Release 1.22.1 Β· flatpak/xdg-desktop-portal
Security fixes:
Fix a security issue which allows a malicious sandboxed applications to
redirect drag-and-drop and copy-paste data to itself via a predictable
key in FileTransfer.RetrieveFiles (GH...
Fix a security issue which allows a malicious sandboxed applications to
redirect drag-and-drop and copy-paste data to itself via a predictable
key in FileTransfer.RetrieveFiles (GH...
π¨ CVE-2026-115754
serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.
π@cveNotify
serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.
π@cveNotify
GitHub
fix: escape `</script` at the end of a serialized function body (#235) Β· yahoo/serialize-javascript@2864b3c
`escapeFunctionBody()` escapes each function body on its own, so a body
ending in a bare `</script` never saw the delimiter that the surrounding
output supplies next (e.g. the newline from t...
ending in a bare `</script` never saw the delimiter that the surrounding
output supplies next (e.g. the newline from t...
π¨ CVE-2026-53918
odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt. Prior to version 25.12, odhcpd's DHCPv6 IA handler keeps a per-message `first` lease pointer so multiple IA options in one message reuse the same Reconfigure authentication key. A DHCPv6 REQUEST from an adjacent-network client can make the first IA set `first`, then make a later same-IAID IA fail the on-link check and free that same lease, leaving `first` dangling. A following IA in the same packet allocates a new lease and copies `first->key`, producing a 16-byte heap-use-after-free read. ASan confirms the UAF; native tracing shows the packet shape can deterministically reclaim the freed lease as the destination allocation, producing a zeroed Reconfigure key copy. The validated impact is unauthenticated adjacent-network denial of service and DHCPv6 Reconfigure/ForceRenew key confusion. Arbitrary PC control is not proven for this UAF alone. This issue has been patched in version 25.12.
π@cveNotify
odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt. Prior to version 25.12, odhcpd's DHCPv6 IA handler keeps a per-message `first` lease pointer so multiple IA options in one message reuse the same Reconfigure authentication key. A DHCPv6 REQUEST from an adjacent-network client can make the first IA set `first`, then make a later same-IAID IA fail the on-link check and free that same lease, leaving `first` dangling. A following IA in the same packet allocates a new lease and copies `first->key`, producing a 16-byte heap-use-after-free read. ASan confirms the UAF; native tracing shows the packet shape can deterministically reclaim the freed lease as the destination allocation, producing a zeroed Reconfigure key copy. The validated impact is unauthenticated adjacent-network denial of service and DHCPv6 Reconfigure/ForceRenew key confusion. Arbitrary PC control is not proven for this UAF alone. This issue has been patched in version 25.12.
π@cveNotify
GitHub
dhcpv6-ia: avoid dangling first lease pointer Β· openwrt/odhcpd@26b1220
odhcpd's DHCPv6 IA handler keeps a per-message `first`
lease pointer so multiple IA options in one message reuse
the same Reconfigure authentication key.
A DHCPv6 REQUEST from an adjacent-...
lease pointer so multiple IA options in one message reuse
the same Reconfigure authentication key.
A DHCPv6 REQUEST from an adjacent-...
π¨ CVE-2026-53920
odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt. From version 17.01.0 to before version 25.12.3, odhcpd's DHCPv6 IA parser accepts an IA_NA or IA_PD option whose body is shorter than struct dhcpv6_ia_hdr, casts the option header to that full structure, and reads ia->iaid before proving that the IA body contains the IAID field. If an unauthenticated network-adjacent client places a zero-length or otherwise short IA option at the end of odhcpd's 8192-byte receive stack buffer, the IAID read crosses from data_buf into adjacent stack memory. The disclosed bytes are then reflected in the DHCPv6 reply IAID; prior ARM validation showed data_buf[8192:8196] disclosing the saved stack canary, and wider stack scans can leak ASLR-useful stack/process contents. This issue has been patched in version 25.12.3.
π@cveNotify
odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt. From version 17.01.0 to before version 25.12.3, odhcpd's DHCPv6 IA parser accepts an IA_NA or IA_PD option whose body is shorter than struct dhcpv6_ia_hdr, casts the option header to that full structure, and reads ia->iaid before proving that the IA body contains the IAID field. If an unauthenticated network-adjacent client places a zero-length or otherwise short IA option at the end of odhcpd's 8192-byte receive stack buffer, the IAID read crosses from data_buf into adjacent stack memory. The disclosed bytes are then reflected in the DHCPv6 reply IAID; prior ARM validation showed data_buf[8192:8196] disclosing the saved stack canary, and wider stack scans can leak ASLR-useful stack/process contents. This issue has been patched in version 25.12.3.
π@cveNotify
GitHub
dhcpv6-ia: validate IA_NA/IA_PD option size before reading header Β· openwrt/odhcpd@719fc3a
dhcpv6_ia_handle_IAs() casts the option payload to dhcpv6_ia_hdr and
reads ia->iaid (followed later by t1/t2 via build_ia()) without ever
checking that the option is long enough. The dhcpv6_...
reads ia->iaid (followed later by t1/t2 via build_ia()) without ever
checking that the option is long enough. The dhcpv6_...
π¨ CVE-2026-53921
odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt. Prior to version 25.12, odhcpd's DHCPv6 IA response handler writes past the end of a fixed 512-byte stack buffer (pdbuf) when a single DHCPv6 REQUEST carries enough IA options to nearly exhaust the reply space. Two independent overflow sites exist in the same call chain, both reachable from the network via a single unauthenticated UDP packet. odhcpd runs as root on OpenWrt; embedded targets often lack stack canaries and ASLR, making code execution realistic. This issue has been patched in version 25.12.
π@cveNotify
odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt. Prior to version 25.12, odhcpd's DHCPv6 IA response handler writes past the end of a fixed 512-byte stack buffer (pdbuf) when a single DHCPv6 REQUEST carries enough IA options to nearly exhaust the reply space. Two independent overflow sites exist in the same call chain, both reachable from the network via a single unauthenticated UDP packet. odhcpd runs as root on OpenWrt; embedded targets often lack stack canaries and ASLR, making code execution realistic. This issue has been patched in version 25.12.
π@cveNotify
GitHub
odhcpd: fix out of bounds write in dhcpv6_ia_handle_IAs Β· openwrt/odhcpd@0320032
Check the buffer size before writing the DHCOv6 Reconf accept element to
the buffer. This was previously not the case, allowing an out of bounds
write.
Fixes: CVE-2026-53921
Reported-by: Ying Dong...
the buffer. This was previously not the case, allowing an out of bounds
write.
Fixes: CVE-2026-53921
Reported-by: Ying Dong...
π¨ CVE-2026-55606
odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt. In versions 25.12 and prior, odhcpd's DHCPv6 self-loop detection at dhcpv6.c:720 uses a network-byte-order DUID length value directly as the memcmp() size parameter. On little-endian hosts, this causes memcmp() to read far beyond the stack buffer β a single unauthenticated DHCPv6 packet triggers a 2560-byte overread from a 128-byte buffer. At time of publication, there are no publicly available patches.
π@cveNotify
odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt. In versions 25.12 and prior, odhcpd's DHCPv6 self-loop detection at dhcpv6.c:720 uses a network-byte-order DUID length value directly as the memcmp() size parameter. On little-endian hosts, this causes memcmp() to read far beyond the stack buffer β a single unauthenticated DHCPv6 packet triggers a 2560-byte overread from a 128-byte buffer. At time of publication, there are no publicly available patches.
π@cveNotify
GitHub
dhcpv6: fix out-of-bounds read in self-loop detection memcmp Β· openwrt/odhcpd@6907f28
The "talk to ourself" guard in handle_client_request() compares the
configured server DUID against the received client DUID. Both length
fields are stored in network byte order (s...
configured server DUID against the received client DUID. Both length
fields are stored in network byte order (s...
π¨ CVE-2026-39902
Cacti is an open source performance and fault management framework. Prior to version 1.2.31, the prior blocklist ([;&| `$\\n\r]) omitted single-quote, double-quote, redirect operators, subshell parens and braces. An authenticated admin could save an input_string` containing single-quote, redirect operator, or subshell parens, and pass the check. This issue has been patched in version 1.2.31.
π@cveNotify
Cacti is an open source performance and fault management framework. Prior to version 1.2.31, the prior blocklist ([;&| `$\\n\r]) omitted single-quote, double-quote, redirect operators, subshell parens and braces. An authenticated admin could save an input_string` containing single-quote, redirect operator, or subshell parens, and pass the check. This issue has been patched in version 1.2.31.
π@cveNotify
GitHub
security: fix cacti_input_string_is_safe() bypass and add cacti_exec() (GHSA-c4qp-j9r9-fq24) by somethingwithproof Β· Pull Requestβ¦
Summary
lib/functions.php: extend cacti_input_string_is_safe() blocked character set to close bypass vectors
lib/functions.php: add cacti_exec() / cacti_exec_string() β argv-array execution helper...
lib/functions.php: extend cacti_input_string_is_safe() blocked character set to close bypass vectors
lib/functions.php: add cacti_exec() / cacti_exec_string() β argv-array execution helper...
π¨ CVE-2026-46531
Cacti is an open source performance and fault management framework. From version 1.2.27 to before version 1.2.31, Cacti contains an authenticated stored second-order SQL injection in the automation tree rule item handler. A user holding the Automation realm (default General Administration role) can persist an arbitrary SQL fragment in the automation_tree_rule_items.field column. The fragment is later concatenated directly into a SELECT ... AS source FROM ... clause in lib/api_automation.php :: create_all_header_nodes() and executed when an administrator triggers automation via the standard graphs.php?action=actions&drp_action=8 ("Apply Automation Rules") bulk action. The result of the injected SELECT is written into graph_tree_items.title and rendered in the Cacti tree UI, providing a direct exfiltration channe. This issue has been patched in version 1.2.31.
π@cveNotify
Cacti is an open source performance and fault management framework. From version 1.2.27 to before version 1.2.31, Cacti contains an authenticated stored second-order SQL injection in the automation tree rule item handler. A user holding the Automation realm (default General Administration role) can persist an arbitrary SQL fragment in the automation_tree_rule_items.field column. The fragment is later concatenated directly into a SELECT ... AS source FROM ... clause in lib/api_automation.php :: create_all_header_nodes() and executed when an administrator triggers automation via the standard graphs.php?action=actions&drp_action=8 ("Apply Automation Rules") bulk action. The result of the injected SELECT is written into graph_tree_items.title and rendered in the Cacti tree UI, providing a direct exfiltration channe. This issue has been patched in version 1.2.31.
π@cveNotify
GitHub
security: block 2nd-order SQLi in automation tree rule field by somethingwithproof Β· Pull Request #7163 Β· Cacti/cacti
Summary
automation_tree_rules.php: validates the field parameter against the column allowlist via api_automation_column_exists() before it is persisted, instead of storing it unchecked.
lib/api_au...
automation_tree_rules.php: validates the field parameter against the column allowlist via api_automation_column_exists() before it is persisted, instead of storing it unchecked.
lib/api_au...
π¨ CVE-2026-49442
Cacti is an open source performance and fault management framework. Prior to version 1.2.31, a User Enumeration vulnerability allows an attacker to identify valid usernames on the Cacti service. When a user attempts to log in, the application returns slightly different error messages depending on whether the provided username exists in the system. When username exists on Cacti, in the response, they see Access Denied! Login failed. When it does not exist on Cacti, they see Access Denied! Login Failed. The only difference between the responses is the capitalization of the letter "f" in the word failed. This issue has been patched in version 1.2.31.
π@cveNotify
Cacti is an open source performance and fault management framework. Prior to version 1.2.31, a User Enumeration vulnerability allows an attacker to identify valid usernames on the Cacti service. When a user attempts to log in, the application returns slightly different error messages depending on whether the provided username exists in the system. When username exists on Cacti, in the response, they see Access Denied! Login failed. When it does not exist on Cacti, they see Access Denied! Login Failed. The only difference between the responses is the capitalization of the letter "f" in the word failed. This issue has been patched in version 1.2.31.
π@cveNotify
GitHub
security: GHSA-m7v2-f3xw-3qh7 - User Enumeration via Error Messages (β¦ Β· Cacti/cacti@ab4baf3
β¦#7166)
* security: GHSA-m7v2-f3xw-3qh7 - User Enumeration via Error Messages
* fix: Updating cacti.pot
* fix: Add CVE to finish ticket for CVE-2026-46531/GHSA-37jj-rx8x-4wf2
* security: GHSA-m7v2-f3xw-3qh7 - User Enumeration via Error Messages
* fix: Updating cacti.pot
* fix: Add CVE to finish ticket for CVE-2026-46531/GHSA-37jj-rx8x-4wf2
π¨ CVE-2026-53942
Conda Organization Infrastructure is a centralized location for infrastructure codes. Prior to commit 9c0f238, a GitHub Actions Pwn Request vulnerability appears to remain present in conda/conda. The affected workflow is .github/workflows/update.yml. It is triggered by issue_comment events containing @conda-bot render or @conda-bot recreate. For the render path, the workflow obtains the pull request head repository and branch from the PR API, checks out that PR-controlled repository/ref using secrets.SYNC_TOKEN, and then runs conda/actions/template-files@7f6830b1428a9bd47f0b068892c77eae95207037. The external template-files action reads its default configuration and templates from the checked-out working directory. In the confirmed finding, that action uses an unsandboxed Jinja2 environment to render attacker-controlled template content. This creates a Pwn Request chain in which an untrusted PR/comment path can reach template rendering in a privileged token context. This issue has been patched via commit 9c0f238.
π@cveNotify
Conda Organization Infrastructure is a centralized location for infrastructure codes. Prior to commit 9c0f238, a GitHub Actions Pwn Request vulnerability appears to remain present in conda/conda. The affected workflow is .github/workflows/update.yml. It is triggered by issue_comment events containing @conda-bot render or @conda-bot recreate. For the render path, the workflow obtains the pull request head repository and branch from the PR API, checks out that PR-controlled repository/ref using secrets.SYNC_TOKEN, and then runs conda/actions/template-files@7f6830b1428a9bd47f0b068892c77eae95207037. The external template-files action reads its default configuration and templates from the checked-out working directory. In the confirmed finding, that action uses an unsandboxed Jinja2 environment to render attacker-controlled template content. This creates a Pwn Request chain in which an untrusted PR/comment path can reach template rendering in a privileged token context. This issue has been patched via commit 9c0f238.
π@cveNotify
GitHub
Merge commit from fork Β· conda/infrastructure@9c0f238
* Remove `issue_comment` trigger in `update.yml`
* Revert 'user.name' edit
* Revert 'user.name' edit