CVE-2026-4251
Received Received - Intake
Unprotected Credential Storage in CityData CityChat Android App

Publication date: 2026-03-16

Last updated on: 2026-04-29

Assigner: VulDB

Description
A vulnerability was determined in CityData CityChat up to 0.12.6 on Android. Affected by this vulnerability is an unknown functionality of the file resources/assets/flutter_assets/assets/credentials.json of the component ai.citydata.citychat. Executing a manipulation can lead to unprotected storage of credentials. The attack requires local access. A high complexity level is associated with this attack. The exploitation appears to be difficult. The exploit has been publicly disclosed and may be utilized. The vendor was contacted early about this disclosure but did not respond in any way.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-16
Last Modified
2026-04-29
Generated
2026-05-07
AI Q&A
2026-03-16
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
citydata citychat to 0.12.6 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-255
CWE-256 The product stores a password in plaintext within resources such as memory or files.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

[{'type': 'paragraph', 'content': 'CVE-2026-4251 is a vulnerability in the CityData CityChat Android application (up to version 0.12.6) where sensitive credentials are stored unprotected in the file resources/assets/flutter_assets/assets/credentials.json.'}, {'type': 'paragraph', 'content': "This file contains a Google Cloud service account key embedded within the app's assets, which can be extracted by an attacker through reverse engineering."}, {'type': 'paragraph', 'content': 'The vulnerability corresponds to improper storage of credentials (CWE-256) and allows unauthorized access to Google Cloud Platform services, specifically read-only access to Dialogflow APIs.'}, {'type': 'paragraph', 'content': 'Exploitation requires local access to the device and is considered difficult due to high attack complexity, but a proof-of-concept exploit is publicly available.'}] [1, 2]


How can this vulnerability impact me? :

[{'type': 'paragraph', 'content': 'An attacker who gains local access to a device with the vulnerable CityChat app can extract the exposed Google Cloud service account key.'}, {'type': 'paragraph', 'content': 'With these credentials, the attacker can authenticate to Google Cloud Platform and obtain unauthorized read-only access to Dialogflow APIs.'}, {'type': 'paragraph', 'content': 'This access allows the attacker to retrieve sensitive chatbot configuration data, including agent details and all configured intents, exposing the internal conversational logic.'}, {'type': 'paragraph', 'content': "Such information disclosure can lead to misuse of the chatbot's knowledge base and compromise confidentiality."}] [1, 2]


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

[{'type': 'paragraph', 'content': "This vulnerability can be detected by checking for the presence of the file resources/assets/flutter_assets/assets/credentials.json within the CityData CityChat Android application package (ai.citydata.citychat). Since the vulnerability involves unprotected storage of credentials in this file, inspecting the app's assets for this file is key."}, {'type': 'paragraph', 'content': 'On a device or system where the app is installed, you can extract the APK and search for the credentials.json file inside the assets directory.'}, {'type': 'list_item', 'content': 'Use the command to extract the APK: `adb pull /data/app/ai.citydata.citychat-*/base.apk`'}, {'type': 'list_item', 'content': 'Unzip the APK: `unzip base.apk -d extracted_apk`'}, {'type': 'list_item', 'content': 'Check for the credentials file: `find extracted_apk/resources/assets/flutter_assets/assets/ -name credentials.json`'}, {'type': 'paragraph', 'content': 'Additionally, attackers may use Google dorking techniques such as searching for the URL path `inurl:resources/assets/flutter_assets/assets/credentials.json` to identify exposed instances on the internet.'}] [1]


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include removing or replacing the vulnerable component that contains the unprotected credentials.json file.

Since no official countermeasures or patches have been provided by the vendor, it is recommended to:

  • Avoid using CityData CityChat versions up to 0.12.6 that contain the vulnerable credentials file.
  • Replace the affected application or component with an alternative product that does not expose sensitive credentials.
  • Restrict local access to devices running the vulnerable app to prevent exploitation.

Monitoring for unauthorized access to Google Cloud services and Dialogflow APIs using the exposed credentials is also advisable.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart